--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
sbapp/sideband/console_editor.py 2.0.1 (486a97e4) Text, 27.04 KB
T8b949e# Copyright (c) 2026 Mark Qvist
Tff7b72from T7ee787__future__ Tff7b72import Te6edf3annotations
Tff7b72import T7ee787os
Tff7b72import T7ee787sys
Tff7b72import T7ee787termios
Tff7b72import T7ee787tty
Tff7b72import T7ee787shutil
Tff7b72from T7ee787enum Tff7b72import Te6edf3EnumTb4b4b4, Te6edf3auto
Tff7b72from T7ee787pathlib Tff7b72import Te6edf3Path
Tff7b72from T7ee787typing Tff7b72import Te6edf3OptionalTb4b4b4, Te6edf3Callable
Tff7b72class T56d364KeyTypeTb4b4b4(Te6edf3EnumTb4b4b4)Tb4b4b4:
Te6edf3CHAR Tff7b72= Te6edf3autoTb4b4b4(Tb4b4b4)
Te6edf3ENTER Tff7b72= Te6edf3autoTb4b4b4(Tb4b4b4)
Te6edf3BACKSPACE Tff7b72= Te6edf3autoTb4b4b4(Tb4b4b4)
Te6edf3DELETE Tff7b72= Te6edf3autoTb4b4b4(Tb4b4b4)
Te6edf3UP Tff7b72= Te6edf3autoTb4b4b4(Tb4b4b4)
Te6edf3DOWN Tff7b72= Te6edf3autoTb4b4b4(Tb4b4b4)
Te6edf3LEFT Tff7b72= Te6edf3autoTb4b4b4(Tb4b4b4)
Te6edf3RIGHT Tff7b72= Te6edf3autoTb4b4b4(Tb4b4b4)
Te6edf3HOME Tff7b72= Te6edf3autoTb4b4b4(Tb4b4b4)
Te6edf3END Tff7b72= Te6edf3autoTb4b4b4(Tb4b4b4)
Te6edf3HOME_FULL Tff7b72= Te6edf3autoTb4b4b4(Tb4b4b4) T8b949e# Ctrl+A
Te6edf3END_FULL Tff7b72= Te6edf3autoTb4b4b4(Tb4b4b4) T8b949e# Ctrl+E
Te6edf3TAB Tff7b72= Te6edf3autoTb4b4b4(Tb4b4b4)
Te6edf3SUBMIT Tff7b72= Te6edf3autoTb4b4b4(Tb4b4b4) T8b949e# Ctrl+D / Alt+Enter
Te6edf3INTERRUPT Tff7b72= Te6edf3autoTb4b4b4(Tb4b4b4) T8b949e# Ctrl+C
Te6edf3CLEAR_BUFFER Tff7b72= Te6edf3autoTb4b4b4(Tb4b4b4) T8b949e# Ctrl+K
Te6edf3KILL_LINE_START Tff7b72= Te6edf3autoTb4b4b4(Tb4b4b4) T8b949e# Ctrl+U
Te6edf3KILL_WORD_PREV Tff7b72= Te6edf3autoTb4b4b4(Tb4b4b4) T8b949e# Ctrl+W
Te6edf3WORD_LEFT Tff7b72= Te6edf3autoTb4b4b4(Tb4b4b4) T8b949e# Ctrl+Left
Te6edf3WORD_RIGHT Tff7b72= Te6edf3autoTb4b4b4(Tb4b4b4) T8b949e# Ctrl+Right
Te6edf3YANK Tff7b72= Te6edf3autoTb4b4b4(Tb4b4b4) T8b949e# Ctrl+Y
Te6edf3TRANSPOSE Tff7b72= Te6edf3autoTb4b4b4(Tb4b4b4) T8b949e# Ctrl+T
Te6edf3REFRESH Tff7b72= Te6edf3autoTb4b4b4(Tb4b4b4) T8b949e# Ctrl+L
Te6edf3UNKNOWN Tff7b72= Te6edf3autoTb4b4b4(Tb4b4b4)
Tff7b72class T56d364KeyTb4b4b4:
Tff7b72__slots__ Tff7b72= Tb4b4b4[Ta5d6ff"Ta5d6fftypeTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffcharTa5d6ff"Tb4b4b4]
Tff7b72def Tff7b72__init__Tb4b4b4(Tff7b72selfTb4b4b4, Te6edf3key_typeTb4b4b4: Te6edf3KeyTypeTb4b4b4, Te6edf3charTb4b4b4: Tffa657str Tff7b72= Ta5d6ff"Ta5d6ff"Tb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8fftype Tff7b72= Te6edf3key_type
Tff7b72selfTff7b72.Td2a8ffchar Tff7b72= Te6edf3char
Tf0883e@classmethod
Tff7b72def Td2a8fffrom_charTb4b4b4(Tff7b72clsTb4b4b4, Te6edf3cTb4b4b4: Tffa657strTb4b4b4) Tff7b72-Tff7b72> Te6edf3KeyTb4b4b4: Tff7b72return Tff7b72clsTb4b4b4(Te6edf3KeyTypeTff7b72.Td2a8ffCHARTb4b4b4, Te6edf3cTb4b4b4)
Tff7b72class T56d364InlineEditorTb4b4b4:
Te6edf3HISTORY_LIMIT Tff7b72= T79c0ff1000
Tff7b72def Tff7b72__init__Tb4b4b4(Tff7b72selfTb4b4b4, Te6edf3history_fileTb4b4b4: Te6edf3OptionalTb4b4b4[Te6edf3PathTb4b4b4] Tff7b72= Tff7b72NoneTb4b4b4, Te6edf3completerTb4b4b4: Te6edf3OptionalTb4b4b4[Te6edf3CallableTb4b4b4[Tb4b4b4[Tffa657strTb4b4b4]Tb4b4b4, Tffa657listTb4b4b4[Tffa657strTb4b4b4]Tb4b4b4]Tb4b4b4] Tff7b72= Tff7b72NoneTb4b4b4, Te6edf3multilineTb4b4b4: Tffa657bool Tff7b72= Tff7b72TrueTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffhistory_file Tff7b72= Te6edf3history_file
Tff7b72selfTff7b72.Td2a8ffcompleter Tff7b72= Te6edf3completer
Tff7b72selfTff7b72.Td2a8ffmultiline Tff7b72= Te6edf3multiline
Tff7b72selfTff7b72.Td2a8ffhistoryTb4b4b4: Tffa657listTb4b4b4[Tffa657strTb4b4b4] Tff7b72= Tb4b4b4[Tb4b4b4]
Tff7b72selfTff7b72.Td2a8ffhistory_indexTb4b4b4: Tffa657int Tff7b72= T79c0ff0
Tff7b72selfTff7b72.Td2a8ff_saved_bufferTb4b4b4: Te6edf3OptionalTb4b4b4[Tffa657listTb4b4b4[Tffa657strTb4b4b4]Tb4b4b4] Tff7b72= Tff7b72None
Tff7b72selfTff7b72.Td2a8ff_saved_rowTb4b4b4: Tffa657int Tff7b72= T79c0ff0
Tff7b72selfTff7b72.Td2a8ff_saved_colTb4b4b4: Tffa657int Tff7b72= T79c0ff0
Tff7b72selfTff7b72.Td2a8ffbufferTb4b4b4: Tffa657listTb4b4b4[Tffa657strTb4b4b4] Tff7b72= Tb4b4b4[Ta5d6ff"Ta5d6ff"Tb4b4b4]
Tff7b72selfTff7b72.Td2a8ffcursor_rowTb4b4b4: Tffa657int Tff7b72= T79c0ff0
Tff7b72selfTff7b72.Td2a8ffcursor_colTb4b4b4: Tffa657int Tff7b72= T79c0ff0
Tff7b72selfTff7b72.Td2a8ffpromptTb4b4b4: Tffa657str Tff7b72= Ta5d6ff"Ta5d6ff"
Tff7b72selfTff7b72.Td2a8ff_prompt_widthTb4b4b4: Tffa657int Tff7b72= T79c0ff0
Tff7b72selfTff7b72.Td2a8ff_visual_colTb4b4b4: Tffa657int Tff7b72= T79c0ff0
Tff7b72selfTff7b72.Td2a8ff_wrapped_viewTb4b4b4: Tffa657listTb4b4b4[Tffa657tupleTb4b4b4[Tffa657intTb4b4b4, Tffa657intTb4b4b4, Tffa657strTb4b4b4]Tb4b4b4] Tff7b72= Tb4b4b4[Tb4b4b4]
Tff7b72selfTff7b72.Td2a8ff_orig_termiosTb4b4b4: Te6edf3OptionalTb4b4b4[Tffa657listTb4b4b4] Tff7b72= Tff7b72None
Tff7b72selfTff7b72.Td2a8ff_term_widthTb4b4b4: Tffa657int Tff7b72= T79c0ff80
Tff7b72selfTff7b72.Td2a8ff_term_heightTb4b4b4: Tffa657int Tff7b72= T79c0ff24
Tff7b72selfTff7b72.Td2a8ff_kill_ringTb4b4b4: Tffa657listTb4b4b4[Tffa657strTb4b4b4] Tff7b72= Tb4b4b4[Tb4b4b4]
Tff7b72selfTff7b72.Td2a8ff_kill_indexTb4b4b4: Tffa657int Tff7b72= Tff7b72-T79c0ff1
Tff7b72selfTff7b72.Td2a8ff_show_completionsTb4b4b4: Tffa657listTb4b4b4[Tffa657strTb4b4b4] Tff7b72= Tb4b4b4[Tb4b4b4]
Tff7b72if Tff7b72selfTff7b72.Td2a8ffhistory_fileTb4b4b4: Tff7b72selfTff7b72.Td2a8ff_load_historyTb4b4b4(Tb4b4b4)
Tff7b72def Td2a8ffreadTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3promptTb4b4b4: Tffa657str Tff7b72= Ta5d6ff"Ta5d6ff"Tb4b4b4) Tff7b72-Tff7b72> Tffa657strTb4b4b4:
Tff7b72if Te6edf3sysTff7b72.Td2a8ffplatform Tff7b72== Ta5d6ff"Ta5d6ffwin32Ta5d6ff" Tff7b72or Tff7b72not Te6edf3sysTff7b72.Td2a8ffstdinTff7b72.Td2a8ffisattyTb4b4b4(Tb4b4b4)Tb4b4b4: Tff7b72return Tffa657inputTb4b4b4(Te6edf3promptTb4b4b4)
Tff7b72return Tff7b72selfTff7b72.Td2a8ff_unix_readTb4b4b4(Te6edf3promptTb4b4b4)
Tff7b72def Td2a8ff_enable_raw_modeTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Te6edf3fd Tff7b72= Te6edf3sysTff7b72.Td2a8ffstdinTff7b72.Td2a8fffilenoTb4b4b4(Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ff_orig_termios Tff7b72= Te6edf3termiosTff7b72.Td2a8fftcgetattrTb4b4b4(Te6edf3fdTb4b4b4)
Te6edf3ttyTff7b72.Td2a8ffsetrawTb4b4b4(Te6edf3fdTb4b4b4, Te6edf3termiosTff7b72.Td2a8ffTCSANOWTb4b4b4)
Tff7b72def Td2a8ff_disable_raw_modeTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tff7b72if Tff7b72selfTff7b72.Td2a8ff_orig_termiosTb4b4b4:
Te6edf3fd Tff7b72= Te6edf3sysTff7b72.Td2a8ffstdinTff7b72.Td2a8fffilenoTb4b4b4(Tb4b4b4)
Te6edf3termiosTff7b72.Td2a8fftcsetattrTb4b4b4(Te6edf3fdTb4b4b4, Te6edf3termiosTff7b72.Td2a8ffTCSADRAINTb4b4b4, Tff7b72selfTff7b72.Td2a8ff_orig_termiosTb4b4b4)
Tff7b72selfTff7b72.Td2a8ff_orig_termios Tff7b72= Tff7b72None
Tff7b72def Td2a8ff_update_terminal_sizeTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tff7b72tryTb4b4b4:
Te6edf3size Tff7b72= Te6edf3shutilTff7b72.Td2a8ffget_terminal_sizeTb4b4b4(Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ff_term_width Tff7b72= Te6edf3sizeTff7b72.Td2a8ffcolumns
Tff7b72selfTff7b72.Td2a8ff_term_height Tff7b72= Te6edf3sizeTff7b72.Td2a8fflines
Tff7b72except Tf85149ExceptionTb4b4b4: Tff7b72pass
Tff7b72def Td2a8ff_unix_readTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3promptTb4b4b4: Tffa657strTb4b4b4) Tff7b72-Tff7b72> Tffa657strTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffprompt Tff7b72= Te6edf3prompt
Tff7b72selfTff7b72.Td2a8ff_prompt_width Tff7b72= Tffa657lenTb4b4b4(Te6edf3promptTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffbuffer Tff7b72= Tb4b4b4[Ta5d6ff"Ta5d6ff"Tb4b4b4]
Tff7b72selfTff7b72.Td2a8ffcursor_row Tff7b72= T79c0ff0
Tff7b72selfTff7b72.Td2a8ffcursor_col Tff7b72= T79c0ff0
Tff7b72selfTff7b72.Td2a8ff_visual_col Tff7b72= Tff7b72selfTff7b72.Td2a8ff_prompt_width
Tff7b72selfTff7b72.Td2a8ffhistory_index Tff7b72= Tffa657lenTb4b4b4(Tff7b72selfTff7b72.Td2a8ffhistoryTb4b4b4)
Tff7b72selfTff7b72.Td2a8ff_saved_buffer Tff7b72= Tff7b72None
Tff7b72selfTff7b72.Td2a8ff_show_completions Tff7b72= Tb4b4b4[Tb4b4b4]
Tff7b72selfTff7b72.Td2a8ff_enable_raw_modeTb4b4b4(Tb4b4b4)
Tff7b72tryTb4b4b4:
Tff7b72selfTff7b72.Td2a8ff_renderTb4b4b4(Tb4b4b4)
Tff7b72while Tff7b72TrueTb4b4b4:
Te6edf3key Tff7b72= Tff7b72selfTff7b72.Td2a8ff_read_keyTb4b4b4(Tb4b4b4)
Tff7b72if Te6edf3keyTff7b72.Td2a8fftype Tff7b72== Te6edf3KeyTypeTff7b72.Td2a8ffSUBMITTb4b4b4: Tff7b72return Tff7b72selfTff7b72.Td2a8ff_finish_readTb4b4b4(Tb4b4b4)
Tff7b72if Tff7b72not Tff7b72selfTff7b72.Td2a8ffmultiline Tff7b72and Te6edf3keyTff7b72.Td2a8fftype Tff7b72== Te6edf3KeyTypeTff7b72.Td2a8ffENTERTb4b4b4: Tff7b72return Tff7b72selfTff7b72.Td2a8ff_finish_readTb4b4b4(Tb4b4b4)
Tff7b72if Te6edf3keyTff7b72.Td2a8fftype Tff7b72== Te6edf3KeyTypeTff7b72.Td2a8ffINTERRUPTTb4b4b4:
Te6edf3sysTff7b72.Td2a8ffstdoutTff7b72.Td2a8ffwriteTb4b4b4(Ta5d6ff"Tffea00\nTa5d6ff"Tb4b4b4)
Te6edf3sysTff7b72.Td2a8ffstdoutTff7b72.Td2a8ffflushTb4b4b4(Tb4b4b4)
Tff7b72raise Tf85149KeyboardInterrupt
Tff7b72if Te6edf3keyTff7b72.Td2a8fftype Tff7b72== Te6edf3KeyTypeTff7b72.Td2a8ffUNKNOWNTb4b4b4: Tff7b72continue
Tff7b72selfTff7b72.Td2a8ff_dispatchTb4b4b4(Te6edf3keyTb4b4b4)
Tff7b72selfTff7b72.Td2a8ff_renderTb4b4b4(Tb4b4b4)
Tff7b72finallyTb4b4b4: Tff7b72selfTff7b72.Td2a8ff_disable_raw_modeTb4b4b4(Tb4b4b4)
Tff7b72def Td2a8ff_finish_readTb4b4b4(Tff7b72selfTb4b4b4) Tff7b72-Tff7b72> Tffa657strTb4b4b4:
Te6edf3result Tff7b72= Ta5d6ff"Tffea00\nTa5d6ff"Tff7b72.Td2a8ffjoinTb4b4b4(Tff7b72selfTff7b72.Td2a8ffbufferTb4b4b4)
Tff7b72selfTff7b72.Td2a8ff_add_to_historyTb4b4b4(Te6edf3resultTb4b4b4)
Tff7b72selfTff7b72.Td2a8ff_wrapped_view Tff7b72= Tff7b72selfTff7b72.Td2a8ff_compute_wrapped_viewTb4b4b4(Tb4b4b4)
Te6edf3last_row Tff7b72= Tffa657lenTb4b4b4(Tff7b72selfTff7b72.Td2a8ffbufferTb4b4b4) Tff7b72- T79c0ff1
Te6edf3last_col Tff7b72= Tffa657lenTb4b4b4(Tff7b72selfTff7b72.Td2a8ffbufferTb4b4b4[Te6edf3last_rowTb4b4b4]Tb4b4b4)
Te6edf3end_vis_rowTb4b4b4, Te6edf3end_vis_col Tff7b72= Tff7b72selfTff7b72.Td2a8ff_logical_to_visualTb4b4b4(Te6edf3last_rowTb4b4b4, Te6edf3last_colTb4b4b4)
Te6edf3current_vis_row Tff7b72= Tffa657getattrTb4b4b4(Tff7b72selfTb4b4b4, Ta5d6ff"Ta5d6ff_last_render_rowTa5d6ff"Tb4b4b4, T79c0ff0Tb4b4b4)
Te6edf3row_delta Tff7b72= Te6edf3end_vis_row Tff7b72- Te6edf3current_vis_row
Tff7b72if Te6edf3row_delta Tff7b72> T79c0ff0Tb4b4b4: Te6edf3sysTff7b72.Td2a8ffstdoutTff7b72.Td2a8ffwriteTb4b4b4(Ta5d6fffTa5d6ff"Tffea00\x1bTa5d6ff[Tffd700{Te6edf3row_deltaTffd700}Ta5d6ffBTa5d6ff"Tb4b4b4)
Tff7b72elif Te6edf3row_delta Tff7b72< T79c0ff0Tb4b4b4: Te6edf3sysTff7b72.Td2a8ffstdoutTff7b72.Td2a8ffwriteTb4b4b4(Ta5d6fffTa5d6ff"Tffea00\x1bTa5d6ff[Tffd700{Tff7b72-Te6edf3row_deltaTffd700}Ta5d6ffATa5d6ff"Tb4b4b4)
Te6edf3sysTff7b72.Td2a8ffstdoutTff7b72.Td2a8ffwriteTb4b4b4(Ta5d6fffTa5d6ff"Tffea00\rTffea00\x1bTa5d6ff[Tffd700{Te6edf3end_vis_colTffd700}Ta5d6ffCTa5d6ff"Tb4b4b4)
Te6edf3sysTff7b72.Td2a8ffstdoutTff7b72.Td2a8ffwriteTb4b4b4(Ta5d6ff"Tffea00\nTa5d6ff"Tb4b4b4)
Te6edf3sysTff7b72.Td2a8ffstdoutTff7b72.Td2a8ffflushTb4b4b4(Tb4b4b4)
Tff7b72return Te6edf3result
Tff7b72def Td2a8ff_read_keyTb4b4b4(Tff7b72selfTb4b4b4) Tff7b72-Tff7b72> Te6edf3KeyTb4b4b4:
Te6edf3c Tff7b72= Te6edf3sysTff7b72.Td2a8ffstdinTff7b72.Td2a8ffreadTb4b4b4(T79c0ff1Tb4b4b4)
Tff7b72if Tff7b72not Te6edf3cTb4b4b4: Tff7b72return Te6edf3KeyTb4b4b4(Te6edf3KeyTypeTff7b72.Td2a8ffUNKNOWNTb4b4b4)
Te6edf3o Tff7b72= Tffa657ordTb4b4b4(Te6edf3cTb4b4b4)
Tff7b72if Te6edf3o Tff7b72== T79c0ff4Tb4b4b4: Tff7b72return Te6edf3KeyTb4b4b4(Te6edf3KeyTypeTff7b72.Td2a8ffSUBMITTb4b4b4)
Tff7b72if Te6edf3o Tff7b72== T79c0ff3Tb4b4b4: Tff7b72return Te6edf3KeyTb4b4b4(Te6edf3KeyTypeTff7b72.Td2a8ffINTERRUPTTb4b4b4)
Tff7b72if Te6edf3c Tff7b72in Tb4b4b4(Ta5d6ff"Tffea00\rTa5d6ff"Tb4b4b4, Ta5d6ff"Tffea00\nTa5d6ff"Tb4b4b4)Tb4b4b4: Tff7b72return Te6edf3KeyTb4b4b4(Te6edf3KeyTypeTff7b72.Td2a8ffENTERTb4b4b4)
Tff7b72if Te6edf3c Tff7b72== Ta5d6ff"Tffea00\tTa5d6ff"Tb4b4b4: Tff7b72return Te6edf3KeyTb4b4b4(Te6edf3KeyTypeTff7b72.Td2a8ffTABTb4b4b4)
Tff7b72if Te6edf3c Tff7b72in Tb4b4b4(Ta5d6ff"Tffea00\x08Ta5d6ff"Tb4b4b4, Ta5d6ff"Tffea00\x7fTa5d6ff"Tb4b4b4)Tb4b4b4: Tff7b72return Te6edf3KeyTb4b4b4(Te6edf3KeyTypeTff7b72.Td2a8ffBACKSPACETb4b4b4)
Tff7b72if Te6edf3c Tff7b72== Ta5d6ff"Tffea00\x1bTa5d6ff"Tb4b4b4: Tff7b72return Tff7b72selfTff7b72.Td2a8ff_read_escape_sequenceTb4b4b4(Tb4b4b4)
Tff7b72if Te6edf3o Tff7b72== T79c0ff10 Tff7b72and Tff7b72selfTff7b72.Td2a8ff_orig_termiosTb4b4b4: Tff7b72return Te6edf3KeyTb4b4b4(Te6edf3KeyTypeTff7b72.Td2a8ffSUBMITTb4b4b4)
Tff7b72if Te6edf3o Tff7b72== T79c0ff1Tb4b4b4: Tff7b72return Te6edf3KeyTb4b4b4(Te6edf3KeyTypeTff7b72.Td2a8ffHOME_FULLTb4b4b4)
Tff7b72if Te6edf3o Tff7b72== T79c0ff5Tb4b4b4: Tff7b72return Te6edf3KeyTb4b4b4(Te6edf3KeyTypeTff7b72.Td2a8ffEND_FULLTb4b4b4)
Tff7b72if Te6edf3o Tff7b72== T79c0ff11Tb4b4b4: Tff7b72return Te6edf3KeyTb4b4b4(Te6edf3KeyTypeTff7b72.Td2a8ffCLEAR_BUFFERTb4b4b4)
Tff7b72if Te6edf3o Tff7b72== T79c0ff21Tb4b4b4: Tff7b72return Te6edf3KeyTb4b4b4(Te6edf3KeyTypeTff7b72.Td2a8ffKILL_LINE_STARTTb4b4b4)
Tff7b72if Te6edf3o Tff7b72== T79c0ff23Tb4b4b4: Tff7b72return Te6edf3KeyTb4b4b4(Te6edf3KeyTypeTff7b72.Td2a8ffKILL_WORD_PREVTb4b4b4)
Tff7b72if Te6edf3o Tff7b72== T79c0ff25Tb4b4b4: Tff7b72return Te6edf3KeyTb4b4b4(Te6edf3KeyTypeTff7b72.Td2a8ffYANKTb4b4b4)
Tff7b72if Te6edf3o Tff7b72== T79c0ff20Tb4b4b4: Tff7b72return Te6edf3KeyTb4b4b4(Te6edf3KeyTypeTff7b72.Td2a8ffTRANSPOSETb4b4b4)
Tff7b72if Te6edf3o Tff7b72== T79c0ff12Tb4b4b4: Tff7b72return Te6edf3KeyTb4b4b4(Te6edf3KeyTypeTff7b72.Td2a8ffREFRESHTb4b4b4)
Tff7b72return Te6edf3KeyTff7b72.Td2a8fffrom_charTb4b4b4(Te6edf3cTb4b4b4)
Tff7b72def Td2a8ff_read_escape_sequenceTb4b4b4(Tff7b72selfTb4b4b4) Tff7b72-Tff7b72> Te6edf3KeyTb4b4b4:
Te6edf3c1 Tff7b72= Te6edf3sysTff7b72.Td2a8ffstdinTff7b72.Td2a8ffreadTb4b4b4(T79c0ff1Tb4b4b4)
Tff7b72if Te6edf3c1 Tff7b72in Tb4b4b4(Ta5d6ff"Tffea00\rTa5d6ff"Tb4b4b4, Ta5d6ff"Tffea00\nTa5d6ff"Tb4b4b4)Tb4b4b4: Tff7b72return Te6edf3KeyTb4b4b4(Te6edf3KeyTypeTff7b72.Td2a8ffSUBMITTb4b4b4)
Tff7b72if Te6edf3c1 Tff7b72== Ta5d6ff"Ta5d6ff[Ta5d6ff"Tb4b4b4:
Te6edf3c2 Tff7b72= Te6edf3sysTff7b72.Td2a8ffstdinTff7b72.Td2a8ffreadTb4b4b4(T79c0ff1Tb4b4b4)
Tff7b72if Te6edf3c2 Tff7b72== Ta5d6ff"Ta5d6ffATa5d6ff"Tb4b4b4: Tff7b72return Te6edf3KeyTb4b4b4(Te6edf3KeyTypeTff7b72.Td2a8ffUPTb4b4b4)
Tff7b72if Te6edf3c2 Tff7b72== Ta5d6ff"Ta5d6ffBTa5d6ff"Tb4b4b4: Tff7b72return Te6edf3KeyTb4b4b4(Te6edf3KeyTypeTff7b72.Td2a8ffDOWNTb4b4b4)
Tff7b72if Te6edf3c2 Tff7b72== Ta5d6ff"Ta5d6ffCTa5d6ff"Tb4b4b4: Tff7b72return Te6edf3KeyTb4b4b4(Te6edf3KeyTypeTff7b72.Td2a8ffRIGHTTb4b4b4)
Tff7b72if Te6edf3c2 Tff7b72== Ta5d6ff"Ta5d6ffDTa5d6ff"Tb4b4b4: Tff7b72return Te6edf3KeyTb4b4b4(Te6edf3KeyTypeTff7b72.Td2a8ffLEFTTb4b4b4)
Tff7b72if Te6edf3c2 Tff7b72== Ta5d6ff"Ta5d6ffHTa5d6ff"Tb4b4b4: Tff7b72return Te6edf3KeyTb4b4b4(Te6edf3KeyTypeTff7b72.Td2a8ffHOMETb4b4b4)
Tff7b72if Te6edf3c2 Tff7b72== Ta5d6ff"Ta5d6ffFTa5d6ff"Tb4b4b4: Tff7b72return Te6edf3KeyTb4b4b4(Te6edf3KeyTypeTff7b72.Td2a8ffENDTb4b4b4)
Tff7b72if Te6edf3c2 Tff7b72== Ta5d6ff"Ta5d6ff1Ta5d6ff"Tb4b4b4:
Te6edf3c3 Tff7b72= Te6edf3sysTff7b72.Td2a8ffstdinTff7b72.Td2a8ffreadTb4b4b4(T79c0ff1Tb4b4b4)
Tff7b72if Te6edf3c3 Tff7b72== Ta5d6ff"Ta5d6ff;Ta5d6ff"Tb4b4b4:
Te6edf3c4 Tff7b72= Te6edf3sysTff7b72.Td2a8ffstdinTff7b72.Td2a8ffreadTb4b4b4(T79c0ff1Tb4b4b4)
Tff7b72if Te6edf3c4 Tff7b72== Ta5d6ff"Ta5d6ff5Ta5d6ff"Tb4b4b4:
Te6edf3c5 Tff7b72= Te6edf3sysTff7b72.Td2a8ffstdinTff7b72.Td2a8ffreadTb4b4b4(T79c0ff1Tb4b4b4)
Tff7b72if Te6edf3c5 Tff7b72== Ta5d6ff"Ta5d6ffCTa5d6ff"Tb4b4b4: Tff7b72return Te6edf3KeyTb4b4b4(Te6edf3KeyTypeTff7b72.Td2a8ffWORD_RIGHTTb4b4b4)
Tff7b72if Te6edf3c5 Tff7b72== Ta5d6ff"Ta5d6ffDTa5d6ff"Tb4b4b4: Tff7b72return Te6edf3KeyTb4b4b4(Te6edf3KeyTypeTff7b72.Td2a8ffWORD_LEFTTb4b4b4)
Tff7b72return Te6edf3KeyTb4b4b4(Te6edf3KeyTypeTff7b72.Td2a8ffUNKNOWNTb4b4b4)
Tff7b72if Te6edf3c2 Tff7b72== Ta5d6ff"Ta5d6ff3Ta5d6ff"Tb4b4b4:
Tff7b72if Te6edf3sysTff7b72.Td2a8ffstdinTff7b72.Td2a8ffreadTb4b4b4(T79c0ff1Tb4b4b4) Tff7b72== Ta5d6ff"Ta5d6ff~Ta5d6ff"Tb4b4b4: Tff7b72return Te6edf3KeyTb4b4b4(Te6edf3KeyTypeTff7b72.Td2a8ffDELETETb4b4b4)
Tff7b72return Te6edf3KeyTb4b4b4(Te6edf3KeyTypeTff7b72.Td2a8ffUNKNOWNTb4b4b4)
Tff7b72if Te6edf3c2Tff7b72.Td2a8ffisdigitTb4b4b4(Tb4b4b4)Tb4b4b4:
Te6edf3c3 Tff7b72= Te6edf3sysTff7b72.Td2a8ffstdinTff7b72.Td2a8ffreadTb4b4b4(T79c0ff1Tb4b4b4)
Tff7b72if Te6edf3c3 Tff7b72== Ta5d6ff"Ta5d6ff~Ta5d6ff"Tb4b4b4:
Tff7b72if Te6edf3c2 Tff7b72== Ta5d6ff"Ta5d6ff1Ta5d6ff"Tb4b4b4: Tff7b72return Te6edf3KeyTb4b4b4(Te6edf3KeyTypeTff7b72.Td2a8ffHOMETb4b4b4)
Tff7b72if Te6edf3c2 Tff7b72== Ta5d6ff"Ta5d6ff4Ta5d6ff"Tb4b4b4: Tff7b72return Te6edf3KeyTb4b4b4(Te6edf3KeyTypeTff7b72.Td2a8ffENDTb4b4b4)
Tff7b72if Te6edf3c2 Tff7b72== Ta5d6ff"Ta5d6ff3Ta5d6ff"Tb4b4b4: Tff7b72return Te6edf3KeyTb4b4b4(Te6edf3KeyTypeTff7b72.Td2a8ffDELETETb4b4b4)
Tff7b72return Te6edf3KeyTb4b4b4(Te6edf3KeyTypeTff7b72.Td2a8ffUNKNOWNTb4b4b4)
Tff7b72if Te6edf3c1 Tff7b72== Ta5d6ff"Ta5d6ffOTa5d6ff"Tb4b4b4:
Te6edf3c2 Tff7b72= Te6edf3sysTff7b72.Td2a8ffstdinTff7b72.Td2a8ffreadTb4b4b4(T79c0ff1Tb4b4b4)
Tff7b72if Te6edf3c2 Tff7b72== Ta5d6ff"Ta5d6ffHTa5d6ff"Tb4b4b4: Tff7b72return Te6edf3KeyTb4b4b4(Te6edf3KeyTypeTff7b72.Td2a8ffHOMETb4b4b4)
Tff7b72if Te6edf3c2 Tff7b72== Ta5d6ff"Ta5d6ffFTa5d6ff"Tb4b4b4: Tff7b72return Te6edf3KeyTb4b4b4(Te6edf3KeyTypeTff7b72.Td2a8ffENDTb4b4b4)
Tff7b72return Te6edf3KeyTb4b4b4(Te6edf3KeyTypeTff7b72.Td2a8ffUNKNOWNTb4b4b4)
Tff7b72def Td2a8ff_dispatchTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3keyTb4b4b4: Te6edf3KeyTb4b4b4)Tb4b4b4:
Tff7b72if Te6edf3keyTff7b72.Td2a8fftype Tff7b72!= Te6edf3KeyTypeTff7b72.Td2a8ffTABTb4b4b4: Tff7b72selfTff7b72.Td2a8ff_show_completions Tff7b72= Tb4b4b4[Tb4b4b4]
Te6edf3handlersTb4b4b4: Tffa657dictTb4b4b4[Te6edf3KeyTypeTb4b4b4, Te6edf3CallableTb4b4b4[Tb4b4b4[Tb4b4b4]Tb4b4b4, Tff7b72NoneTb4b4b4]Tb4b4b4] Tff7b72= Tb4b4b4{
Te6edf3KeyTypeTff7b72.Td2a8ffCHARTb4b4b4: Tff7b72lambdaTb4b4b4: Tff7b72selfTff7b72.Td2a8ff_insert_charTb4b4b4(Te6edf3keyTff7b72.Td2a8ffcharTb4b4b4)Tb4b4b4,
Te6edf3KeyTypeTff7b72.Td2a8ffENTERTb4b4b4: Tff7b72selfTff7b72.Td2a8ff_split_line Tff7b72if Tff7b72selfTff7b72.Td2a8ffmultiline Tff7b72else Tff7b72lambdaTb4b4b4: Tff7b72NoneTb4b4b4,
Te6edf3KeyTypeTff7b72.Td2a8ffBACKSPACETb4b4b4: Tff7b72selfTff7b72.Td2a8ff_backspaceTb4b4b4,
Te6edf3KeyTypeTff7b72.Td2a8ffDELETETb4b4b4: Tff7b72selfTff7b72.Td2a8ff_deleteTb4b4b4,
Te6edf3KeyTypeTff7b72.Td2a8ffLEFTTb4b4b4: Tff7b72selfTff7b72.Td2a8ff_cursor_leftTb4b4b4,
Te6edf3KeyTypeTff7b72.Td2a8ffRIGHTTb4b4b4: Tff7b72selfTff7b72.Td2a8ff_cursor_rightTb4b4b4,
Te6edf3KeyTypeTff7b72.Td2a8ffUPTb4b4b4: Tff7b72selfTff7b72.Td2a8ff_cursor_upTb4b4b4,
Te6edf3KeyTypeTff7b72.Td2a8ffDOWNTb4b4b4: Tff7b72selfTff7b72.Td2a8ff_cursor_downTb4b4b4,
Te6edf3KeyTypeTff7b72.Td2a8ffHOMETb4b4b4: Tff7b72selfTff7b72.Td2a8ff_cursor_homeTb4b4b4,
Te6edf3KeyTypeTff7b72.Td2a8ffENDTb4b4b4: Tff7b72selfTff7b72.Td2a8ff_cursor_endTb4b4b4,
Te6edf3KeyTypeTff7b72.Td2a8ffHOME_FULLTb4b4b4: Tff7b72selfTff7b72.Td2a8ff_cursor_home_totalTb4b4b4,
Te6edf3KeyTypeTff7b72.Td2a8ffEND_FULLTb4b4b4: Tff7b72selfTff7b72.Td2a8ff_cursor_end_totalTb4b4b4,
Te6edf3KeyTypeTff7b72.Td2a8ffCLEAR_BUFFERTb4b4b4: Tff7b72selfTff7b72.Td2a8ff_clear_inputTb4b4b4,
Te6edf3KeyTypeTff7b72.Td2a8ffKILL_LINE_STARTTb4b4b4: Tff7b72selfTff7b72.Td2a8ff_kill_line_startTb4b4b4,
Te6edf3KeyTypeTff7b72.Td2a8ffKILL_WORD_PREVTb4b4b4: Tff7b72selfTff7b72.Td2a8ff_kill_word_prevTb4b4b4,
Te6edf3KeyTypeTff7b72.Td2a8ffWORD_LEFTTb4b4b4: Tff7b72selfTff7b72.Td2a8ff_cursor_word_leftTb4b4b4,
Te6edf3KeyTypeTff7b72.Td2a8ffWORD_RIGHTTb4b4b4: Tff7b72selfTff7b72.Td2a8ff_cursor_word_rightTb4b4b4,
Te6edf3KeyTypeTff7b72.Td2a8ffYANKTb4b4b4: Tff7b72selfTff7b72.Td2a8ff_yankTb4b4b4,
Te6edf3KeyTypeTff7b72.Td2a8ffTRANSPOSETb4b4b4: Tff7b72selfTff7b72.Td2a8ff_transpose_charsTb4b4b4,
Te6edf3KeyTypeTff7b72.Td2a8ffREFRESHTb4b4b4: Tff7b72selfTff7b72.Td2a8ff_refresh_screenTb4b4b4,
Te6edf3KeyTypeTff7b72.Td2a8ffTABTb4b4b4: Tff7b72selfTff7b72.Td2a8ff_completeTb4b4b4,
Tb4b4b4}
Te6edf3handler Tff7b72= Te6edf3handlersTff7b72.Td2a8ffgetTb4b4b4(Te6edf3keyTff7b72.Td2a8fftypeTb4b4b4)
Tff7b72if Te6edf3handlerTb4b4b4: Te6edf3handlerTb4b4b4(Tb4b4b4)
Tff7b72def Td2a8ff_word_startTb4b4b4(Tff7b72selfTb4b4b4) Tff7b72-Tff7b72> Tffa657intTb4b4b4:
Te6edf3text Tff7b72= Tff7b72selfTff7b72.Td2a8ffbufferTb4b4b4[Tff7b72selfTff7b72.Td2a8ffcursor_rowTb4b4b4]Tb4b4b4[Tb4b4b4:Tff7b72selfTff7b72.Td2a8ffcursor_colTb4b4b4]
Te6edf3pos Tff7b72= Te6edf3textTff7b72.Td2a8ffrfindTb4b4b4(Ta5d6ff"Ta5d6ff Ta5d6ff"Tb4b4b4)
Tff7b72return Te6edf3pos Tff7b72+ T79c0ff1 Tff7b72if Te6edf3pos Tff7b72>Tff7b72= T79c0ff0 Tff7b72else T79c0ff0
Tff7b72def Td2a8ff_insert_completionTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3completionTb4b4b4: Tffa657strTb4b4b4, Te6edf3word_startTb4b4b4: Tffa657intTb4b4b4)Tb4b4b4:
Te6edf3line Tff7b72= Tff7b72selfTff7b72.Td2a8ffbufferTb4b4b4[Tff7b72selfTff7b72.Td2a8ffcursor_rowTb4b4b4]
Tff7b72selfTff7b72.Td2a8ffbufferTb4b4b4[Tff7b72selfTff7b72.Td2a8ffcursor_rowTb4b4b4] Tff7b72= Te6edf3lineTb4b4b4[Tb4b4b4:Te6edf3word_startTb4b4b4] Tff7b72+ Te6edf3completion Tff7b72+ Te6edf3lineTb4b4b4[Tff7b72selfTff7b72.Td2a8ffcursor_colTb4b4b4:Tb4b4b4]
Tff7b72selfTff7b72.Td2a8ffcursor_col Tff7b72= Te6edf3word_start Tff7b72+ Tffa657lenTb4b4b4(Te6edf3completionTb4b4b4)
Tff7b72selfTff7b72.Td2a8ff_wrapped_view Tff7b72= Tff7b72selfTff7b72.Td2a8ff_compute_wrapped_viewTb4b4b4(Tb4b4b4)
Te6edf3_Tb4b4b4, Tff7b72selfTff7b72.Td2a8ff_visual_col Tff7b72= Tff7b72selfTff7b72.Td2a8ff_logical_to_visualTb4b4b4(Tff7b72selfTff7b72.Td2a8ffcursor_rowTb4b4b4, Tff7b72selfTff7b72.Td2a8ffcursor_colTb4b4b4)
Tff7b72def Td2a8ff_format_completionsTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3matchesTb4b4b4: Tffa657listTb4b4b4[Tffa657strTb4b4b4]Tb4b4b4) Tff7b72-Tff7b72> Tffa657listTb4b4b4[Tffa657strTb4b4b4]Tb4b4b4:
Te6edf3matches Tff7b72= Tffa657sortedTb4b4b4(Tffa657setTb4b4b4(Te6edf3matchesTb4b4b4)Tb4b4b4)
Tff7b72if Tff7b72not Te6edf3matchesTb4b4b4: Tff7b72return Tb4b4b4[Tb4b4b4]
Te6edf3max_len Tff7b72= Tffa657maxTb4b4b4(Tffa657lenTb4b4b4(Te6edf3mTb4b4b4) Tff7b72for Te6edf3m Tff7b72in Te6edf3matchesTb4b4b4)
Te6edf3col_width Tff7b72= Te6edf3max_len Tff7b72+ T79c0ff2
Te6edf3n_cols Tff7b72= Tffa657maxTb4b4b4(T79c0ff1Tb4b4b4, Tb4b4b4(Tff7b72selfTff7b72.Td2a8ff_term_width Tff7b72- T79c0ff2Tb4b4b4) Tff7b72/Tff7b72/ Te6edf3col_widthTb4b4b4)
Te6edf3linesTb4b4b4: Tffa657listTb4b4b4[Tffa657strTb4b4b4] Tff7b72= Tb4b4b4[Tb4b4b4]
Te6edf3rowTb4b4b4: Tffa657listTb4b4b4[Tffa657strTb4b4b4] Tff7b72= Tb4b4b4[Tb4b4b4]
Tff7b72for Te6edf3iTb4b4b4, Te6edf3m Tff7b72in Tffa657enumerateTb4b4b4(Te6edf3matchesTb4b4b4)Tb4b4b4:
Te6edf3rowTff7b72.Td2a8ffappendTb4b4b4(Te6edf3mTff7b72.Td2a8ffljustTb4b4b4(Te6edf3col_widthTb4b4b4)Tb4b4b4)
Tff7b72if Tb4b4b4(Te6edf3i Tff7b72+ T79c0ff1Tb4b4b4) Tff7b72% Te6edf3n_cols Tff7b72== T79c0ff0Tb4b4b4:
Te6edf3linesTff7b72.Td2a8ffappendTb4b4b4(Ta5d6ff"Ta5d6ff Ta5d6ff" Tff7b72+ Ta5d6ff"Ta5d6ff"Tff7b72.Td2a8ffjoinTb4b4b4(Te6edf3rowTb4b4b4)Tff7b72.Td2a8ffrstripTb4b4b4(Tb4b4b4)Tb4b4b4)
Te6edf3row Tff7b72= Tb4b4b4[Tb4b4b4]
Tff7b72if Te6edf3rowTb4b4b4: Te6edf3linesTff7b72.Td2a8ffappendTb4b4b4(Ta5d6ff"Ta5d6ff Ta5d6ff" Tff7b72+ Ta5d6ff"Ta5d6ff"Tff7b72.Td2a8ffjoinTb4b4b4(Te6edf3rowTb4b4b4)Tff7b72.Td2a8ffrstripTb4b4b4(Tb4b4b4)Tb4b4b4)
Tff7b72return Te6edf3lines
Tff7b72def Td2a8ff_completeTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tff7b72if Tff7b72selfTff7b72.Td2a8ffcompleter Tff7b72is Tff7b72NoneTb4b4b4:
Tff7b72selfTff7b72.Td2a8ff_show_completions Tff7b72= Tb4b4b4[Tb4b4b4]
Tff7b72return
Te6edf3text Tff7b72= Tff7b72selfTff7b72.Td2a8ffbufferTb4b4b4[Tff7b72selfTff7b72.Td2a8ffcursor_rowTb4b4b4]
Te6edf3prefix Tff7b72= Te6edf3textTb4b4b4[Tb4b4b4:Tff7b72selfTff7b72.Td2a8ffcursor_colTb4b4b4]
Te6edf3word_start Tff7b72= Tff7b72selfTff7b72.Td2a8ff_word_startTb4b4b4(Tb4b4b4)
Te6edf3word Tff7b72= Te6edf3prefixTb4b4b4[Te6edf3word_startTb4b4b4:Tb4b4b4]
Te6edf3completions Tff7b72= Tff7b72selfTff7b72.Td2a8ffcompleterTb4b4b4(Te6edf3prefixTb4b4b4)
Tff7b72if Tff7b72not Te6edf3completionsTb4b4b4:
Tff7b72selfTff7b72.Td2a8ff_show_completions Tff7b72= Tb4b4b4[Tb4b4b4]
Tff7b72return
Te6edf3matches Tff7b72= Tffa657sortedTb4b4b4(Tffa657setTb4b4b4(Te6edf3c Tff7b72for Te6edf3c Tff7b72in Te6edf3completions Tff7b72if Te6edf3cTff7b72.Td2a8ffstartswithTb4b4b4(Te6edf3wordTb4b4b4)Tb4b4b4)Tb4b4b4)
Tff7b72if Tff7b72not Te6edf3matchesTb4b4b4:
Tff7b72selfTff7b72.Td2a8ff_show_completions Tff7b72= Tb4b4b4[Tb4b4b4]
Tff7b72return
Tff7b72if Tffa657lenTb4b4b4(Te6edf3matchesTb4b4b4) Tff7b72== T79c0ff1Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ff_insert_completionTb4b4b4(Te6edf3matchesTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4, Te6edf3word_startTb4b4b4)
Tff7b72selfTff7b72.Td2a8ff_show_completions Tff7b72= Tb4b4b4[Tb4b4b4]
Tff7b72return
Te6edf3common Tff7b72= Te6edf3osTff7b72.Td2a8ffpathTff7b72.Td2a8ffcommonprefixTb4b4b4(Te6edf3matchesTb4b4b4)
Tff7b72if Tffa657lenTb4b4b4(Te6edf3commonTb4b4b4) Tff7b72> Tffa657lenTb4b4b4(Te6edf3wordTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ff_insert_completionTb4b4b4(Te6edf3commonTb4b4b4, Te6edf3word_startTb4b4b4)
Tff7b72selfTff7b72.Td2a8ff_show_completions Tff7b72= Tff7b72selfTff7b72.Td2a8ff_format_completionsTb4b4b4(Te6edf3matchesTb4b4b4)
Tff7b72return
Tff7b72if Tff7b72selfTff7b72.Td2a8ff_show_completionsTb4b4b4: Tff7b72selfTff7b72.Td2a8ff_show_completions Tff7b72= Tb4b4b4[Tb4b4b4]
Tff7b72elseTb4b4b4: Tff7b72selfTff7b72.Td2a8ff_show_completions Tff7b72= Tff7b72selfTff7b72.Td2a8ff_format_completionsTb4b4b4(Te6edf3matchesTb4b4b4)
Tff7b72def Td2a8ff_wrap_line_at_wordsTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3lineTb4b4b4: Tffa657strTb4b4b4, Te6edf3avail_widthTb4b4b4: Tffa657intTb4b4b4) Tff7b72-Tff7b72> Tffa657listTb4b4b4[Tffa657tupleTb4b4b4[Tffa657intTb4b4b4, Tffa657strTb4b4b4]Tb4b4b4]Tb4b4b4:
Tff7b72if Tff7b72not Te6edf3lineTb4b4b4: Tff7b72return Tb4b4b4[Tb4b4b4(T79c0ff0Tb4b4b4, Ta5d6ff"Ta5d6ff"Tb4b4b4)Tb4b4b4]
Te6edf3segments Tff7b72= Tb4b4b4[Tb4b4b4]
Te6edf3start Tff7b72= T79c0ff0
Te6edf3line_len Tff7b72= Tffa657lenTb4b4b4(Te6edf3lineTb4b4b4)
Tff7b72while Te6edf3start Tff7b72< Te6edf3line_lenTb4b4b4:
Te6edf3end Tff7b72= Te6edf3start Tff7b72+ Te6edf3avail_width
Tff7b72if Te6edf3end Tff7b72>Tff7b72= Te6edf3line_lenTb4b4b4:
Te6edf3segmentsTff7b72.Td2a8ffappendTb4b4b4(Tb4b4b4(Te6edf3startTb4b4b4, Te6edf3lineTb4b4b4[Te6edf3startTb4b4b4:Tb4b4b4]Tb4b4b4)Tb4b4b4)
Tff7b72break
Te6edf3search_pos Tff7b72= Te6edf3end Tff7b72- T79c0ff1
Te6edf3break_pos Tff7b72= Tff7b72-T79c0ff1
Tff7b72while Te6edf3search_pos Tff7b72>Tff7b72= Te6edf3startTb4b4b4:
Tff7b72if Te6edf3lineTb4b4b4[Te6edf3search_posTb4b4b4] Tff7b72== Ta5d6ff"Ta5d6ff Ta5d6ff"Tb4b4b4:
Te6edf3break_pos Tff7b72= Te6edf3search_pos
Tff7b72break
Te6edf3search_pos Tff7b72-Tff7b72= T79c0ff1
Tff7b72if Te6edf3break_pos Tff7b72== Tff7b72-T79c0ff1Tb4b4b4:
Te6edf3segmentsTff7b72.Td2a8ffappendTb4b4b4(Tb4b4b4(Te6edf3startTb4b4b4, Te6edf3lineTb4b4b4[Te6edf3startTb4b4b4:Te6edf3endTb4b4b4]Tb4b4b4)Tb4b4b4)
Te6edf3start Tff7b72= Te6edf3end
Tff7b72elseTb4b4b4:
Te6edf3segmentsTff7b72.Td2a8ffappendTb4b4b4(Tb4b4b4(Te6edf3startTb4b4b4, Te6edf3lineTb4b4b4[Te6edf3startTb4b4b4:Te6edf3break_posTb4b4b4]Tb4b4b4)Tb4b4b4)
Te6edf3start Tff7b72= Te6edf3break_pos Tff7b72+ T79c0ff1
Tff7b72while Te6edf3start Tff7b72< Te6edf3line_len Tff7b72and Te6edf3lineTb4b4b4[Te6edf3startTb4b4b4] Tff7b72== Ta5d6ff"Ta5d6ff Ta5d6ff"Tb4b4b4:
Te6edf3start Tff7b72+Tff7b72= T79c0ff1
Tff7b72return Te6edf3segments
Tff7b72def Td2a8ff_compute_wrapped_viewTb4b4b4(Tff7b72selfTb4b4b4) Tff7b72-Tff7b72> Tffa657listTb4b4b4[Tffa657tupleTb4b4b4[Tffa657intTb4b4b4, Tffa657intTb4b4b4, Tffa657strTb4b4b4]Tb4b4b4]Tb4b4b4:
Te6edf3view Tff7b72= Tb4b4b4[Tb4b4b4]
Tff7b72for Te6edf3log_rowTb4b4b4, Te6edf3line Tff7b72in Tffa657enumerateTb4b4b4(Tff7b72selfTff7b72.Td2a8ffbufferTb4b4b4)Tb4b4b4:
Tff7b72if Te6edf3log_row Tff7b72== T79c0ff0Tb4b4b4:
Te6edf3avail_width Tff7b72= Tff7b72selfTff7b72.Td2a8ff_term_width Tff7b72- Tff7b72selfTff7b72.Td2a8ff_prompt_width
Tff7b72if Te6edf3avail_width Tff7b72< T79c0ff1Tb4b4b4: Te6edf3avail_width Tff7b72= T79c0ff1
Tff7b72elseTb4b4b4: Te6edf3avail_width Tff7b72= Tff7b72selfTff7b72.Td2a8ff_term_width Tff7b72- Tff7b72selfTff7b72.Td2a8ff_prompt_width
Te6edf3wrapped Tff7b72= Tff7b72selfTff7b72.Td2a8ff_wrap_line_at_wordsTb4b4b4(Te6edf3lineTb4b4b4, Te6edf3avail_widthTb4b4b4)
Tff7b72for Te6edf3start_colTb4b4b4, Te6edf3text Tff7b72in Te6edf3wrappedTb4b4b4: Te6edf3viewTff7b72.Td2a8ffappendTb4b4b4(Tb4b4b4(Te6edf3log_rowTb4b4b4, Te6edf3start_colTb4b4b4, Te6edf3textTb4b4b4)Tb4b4b4)
Tff7b72return Te6edf3view
Tff7b72def Td2a8ff_logical_to_visualTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3log_rowTb4b4b4: Tffa657intTb4b4b4, Te6edf3log_colTb4b4b4: Tffa657intTb4b4b4) Tff7b72-Tff7b72> Tffa657tupleTb4b4b4[Tffa657intTb4b4b4, Tffa657intTb4b4b4]Tb4b4b4:
Te6edf3view Tff7b72= Tff7b72selfTff7b72.Td2a8ff_wrapped_view
Tff7b72for Te6edf3vrowTb4b4b4, Tb4b4b4(Te6edf3v_log_rowTb4b4b4, Te6edf3start_colTb4b4b4, Te6edf3textTb4b4b4) Tff7b72in Tffa657enumerateTb4b4b4(Te6edf3viewTb4b4b4)Tb4b4b4:
Tff7b72if Te6edf3v_log_row Tff7b72== Te6edf3log_rowTb4b4b4:
Tff7b72if Te6edf3log_col Tff7b72>Tff7b72= Te6edf3start_col Tff7b72and Te6edf3log_col Tff7b72<Tff7b72= Te6edf3start_col Tff7b72+ Tffa657lenTb4b4b4(Te6edf3textTb4b4b4)Tb4b4b4:
Te6edf3vis_col Tff7b72= Te6edf3log_col Tff7b72- Te6edf3start_col Tff7b72+ Tff7b72selfTff7b72.Td2a8ff_prompt_width
Tff7b72return Tb4b4b4(Te6edf3vrowTb4b4b4, Te6edf3vis_colTb4b4b4)
Tff7b72if Te6edf3viewTb4b4b4:
Te6edf3last Tff7b72= Te6edf3viewTb4b4b4[Tff7b72-T79c0ff1Tb4b4b4]
Tff7b72return Tb4b4b4(Tffa657lenTb4b4b4(Te6edf3viewTb4b4b4) Tff7b72- T79c0ff1Tb4b4b4, Tff7b72selfTff7b72.Td2a8ff_prompt_width Tff7b72+ Tffa657lenTb4b4b4(Te6edf3lastTb4b4b4[T79c0ff2Tb4b4b4]Tb4b4b4)Tb4b4b4)
Tff7b72return Tb4b4b4(T79c0ff0Tb4b4b4, Tff7b72selfTff7b72.Td2a8ff_prompt_widthTb4b4b4)
Tff7b72def Td2a8ff_visual_to_logicalTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3vis_rowTb4b4b4: Tffa657intTb4b4b4, Te6edf3vis_colTb4b4b4: Tffa657intTb4b4b4) Tff7b72-Tff7b72> Tffa657tupleTb4b4b4[Tffa657intTb4b4b4, Tffa657intTb4b4b4]Tb4b4b4:
Tff7b72if Tff7b72not Tff7b72selfTff7b72.Td2a8ff_wrapped_viewTb4b4b4: Tff7b72return Tb4b4b4(T79c0ff0Tb4b4b4, T79c0ff0Tb4b4b4)
Tff7b72if Te6edf3vis_row Tff7b72< T79c0ff0Tb4b4b4: Te6edf3vis_row Tff7b72= T79c0ff0
Tff7b72if Te6edf3vis_row Tff7b72>Tff7b72= Tffa657lenTb4b4b4(Tff7b72selfTff7b72.Td2a8ff_wrapped_viewTb4b4b4)Tb4b4b4: Te6edf3vis_row Tff7b72= Tffa657lenTb4b4b4(Tff7b72selfTff7b72.Td2a8ff_wrapped_viewTb4b4b4) Tff7b72- T79c0ff1
Te6edf3log_rowTb4b4b4, Te6edf3start_colTb4b4b4, Te6edf3text Tff7b72= Tff7b72selfTff7b72.Td2a8ff_wrapped_viewTb4b4b4[Te6edf3vis_rowTb4b4b4]
Te6edf3vis_col Tff7b72-Tff7b72= Tff7b72selfTff7b72.Td2a8ff_prompt_width
Tff7b72if Te6edf3vis_col Tff7b72< T79c0ff0Tb4b4b4: Te6edf3vis_col Tff7b72= T79c0ff0
Te6edf3log_col Tff7b72= Te6edf3start_col Tff7b72+ Te6edf3vis_col
Tff7b72if Te6edf3log_row Tff7b72< Tffa657lenTb4b4b4(Tff7b72selfTff7b72.Td2a8ffbufferTb4b4b4)Tb4b4b4: Te6edf3log_col Tff7b72= Tffa657minTb4b4b4(Te6edf3log_colTb4b4b4, Tffa657lenTb4b4b4(Tff7b72selfTff7b72.Td2a8ffbufferTb4b4b4[Te6edf3log_rowTb4b4b4]Tb4b4b4)Tb4b4b4)
Tff7b72return Tb4b4b4(Te6edf3log_rowTb4b4b4, Te6edf3log_colTb4b4b4)
Tff7b72def Td2a8ff_renderTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ff_update_terminal_sizeTb4b4b4(Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ff_wrapped_view Tff7b72= Tff7b72selfTff7b72.Td2a8ff_compute_wrapped_viewTb4b4b4(Tb4b4b4)
Te6edf3last_row Tff7b72= Tffa657getattrTb4b4b4(Tff7b72selfTb4b4b4, Ta5d6ff"Ta5d6ff_last_render_rowTa5d6ff"Tb4b4b4, T79c0ff0Tb4b4b4)
Tff7b72if Te6edf3last_row Tff7b72> T79c0ff0Tb4b4b4: Te6edf3sysTff7b72.Td2a8ffstdoutTff7b72.Td2a8ffwriteTb4b4b4(Ta5d6fffTa5d6ff"Tffea00\x1bTa5d6ff[Tffd700{Te6edf3last_rowTffd700}Ta5d6ffATa5d6ff"Tb4b4b4)
Te6edf3sysTff7b72.Td2a8ffstdoutTff7b72.Td2a8ffwriteTb4b4b4(Ta5d6ff"Tffea00\rTa5d6ff"Tb4b4b4)
Te6edf3seen Tff7b72= Tffa657setTb4b4b4(Tb4b4b4)
Tff7b72for Te6edf3iTb4b4b4, Tb4b4b4(Te6edf3log_rowTb4b4b4, Te6edf3_start_colTb4b4b4, Te6edf3textTb4b4b4) Tff7b72in Tffa657enumerateTb4b4b4(Tff7b72selfTff7b72.Td2a8ff_wrapped_viewTb4b4b4)Tb4b4b4:
Tff7b72if Te6edf3i Tff7b72> T79c0ff0Tb4b4b4: Te6edf3sysTff7b72.Td2a8ffstdoutTff7b72.Td2a8ffwriteTb4b4b4(Ta5d6ff"Tffea00\rTffea00\nTa5d6ff"Tb4b4b4)
Te6edf3sysTff7b72.Td2a8ffstdoutTff7b72.Td2a8ffwriteTb4b4b4(Ta5d6ff"Tffea00\x1bTa5d6ff[KTa5d6ff"Tb4b4b4)
Te6edf3first Tff7b72= Te6edf3log_row Tff7b72not Tff7b72in Te6edf3seen
Te6edf3seenTff7b72.Td2a8ffaddTb4b4b4(Te6edf3log_rowTb4b4b4)
Tff7b72if Te6edf3log_row Tff7b72== T79c0ff0 Tff7b72and Te6edf3firstTb4b4b4: Te6edf3sysTff7b72.Td2a8ffstdoutTff7b72.Td2a8ffwriteTb4b4b4(Tff7b72selfTff7b72.Td2a8ffpromptTb4b4b4)
Tff7b72elseTb4b4b4: Te6edf3sysTff7b72.Td2a8ffstdoutTff7b72.Td2a8ffwriteTb4b4b4(Ta5d6ff"Ta5d6ff Ta5d6ff" Tff7b72* Tff7b72selfTff7b72.Td2a8ff_prompt_widthTb4b4b4)
Te6edf3sysTff7b72.Td2a8ffstdoutTff7b72.Td2a8ffwriteTb4b4b4(Te6edf3textTb4b4b4)
Te6edf3sysTff7b72.Td2a8ffstdoutTff7b72.Td2a8ffwriteTb4b4b4(Ta5d6ff"Tffea00\x1bTa5d6ff[JTa5d6ff"Tb4b4b4)
Te6edf3extra_lines Tff7b72= T79c0ff0
Tff7b72if Tff7b72selfTff7b72.Td2a8ff_show_completionsTb4b4b4:
Te6edf3sysTff7b72.Td2a8ffstdoutTff7b72.Td2a8ffwriteTb4b4b4(Ta5d6ff"Tffea00\rTffea00\nTa5d6ff"Tb4b4b4)
Te6edf3extra_lines Tff7b72+Tff7b72= T79c0ff1
Tff7b72for Te6edf3iTb4b4b4, Te6edf3line Tff7b72in Tffa657enumerateTb4b4b4(Tff7b72selfTff7b72.Td2a8ff_show_completionsTb4b4b4)Tb4b4b4:
Tff7b72if Te6edf3i Tff7b72> T79c0ff0Tb4b4b4:
Te6edf3sysTff7b72.Td2a8ffstdoutTff7b72.Td2a8ffwriteTb4b4b4(Ta5d6ff"Tffea00\rTffea00\nTa5d6ff"Tb4b4b4)
Te6edf3extra_lines Tff7b72+Tff7b72= T79c0ff1
Te6edf3sysTff7b72.Td2a8ffstdoutTff7b72.Td2a8ffwriteTb4b4b4(Ta5d6ff"Tffea00\x1bTa5d6ff[KTa5d6ff"Tb4b4b4)
Te6edf3sysTff7b72.Td2a8ffstdoutTff7b72.Td2a8ffwriteTb4b4b4(Te6edf3lineTb4b4b4)
Te6edf3vis_rowTb4b4b4, Te6edf3vis_col Tff7b72= Tff7b72selfTff7b72.Td2a8ff_logical_to_visualTb4b4b4(Tff7b72selfTff7b72.Td2a8ffcursor_rowTb4b4b4, Tff7b72selfTff7b72.Td2a8ffcursor_colTb4b4b4)
Te6edf3lines_up Tff7b72= Tffa657lenTb4b4b4(Tff7b72selfTff7b72.Td2a8ff_wrapped_viewTb4b4b4) Tff7b72- Te6edf3vis_row Tff7b72- T79c0ff1 Tff7b72+ Te6edf3extra_lines
Tff7b72if Te6edf3lines_up Tff7b72> T79c0ff0Tb4b4b4: Te6edf3sysTff7b72.Td2a8ffstdoutTff7b72.Td2a8ffwriteTb4b4b4(Ta5d6fffTa5d6ff"Tffea00\x1bTa5d6ff[Tffd700{Te6edf3lines_upTffd700}Ta5d6ffATa5d6ff"Tb4b4b4)
Te6edf3sysTff7b72.Td2a8ffstdoutTff7b72.Td2a8ffwriteTb4b4b4(Ta5d6fffTa5d6ff"Tffea00\rTffea00\x1bTa5d6ff[Tffd700{Te6edf3vis_colTffd700}Ta5d6ffCTa5d6ff"Tb4b4b4)
Te6edf3sysTff7b72.Td2a8ffstdoutTff7b72.Td2a8ffflushTb4b4b4(Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ff_last_render_row Tff7b72= Te6edf3vis_row
Tff7b72def Td2a8ff_insert_charTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3charTb4b4b4: Tffa657strTb4b4b4)Tb4b4b4:
Te6edf3line Tff7b72= Tff7b72selfTff7b72.Td2a8ffbufferTb4b4b4[Tff7b72selfTff7b72.Td2a8ffcursor_rowTb4b4b4]
Tff7b72selfTff7b72.Td2a8ffbufferTb4b4b4[Tff7b72selfTff7b72.Td2a8ffcursor_rowTb4b4b4] Tff7b72= Te6edf3lineTb4b4b4[Tb4b4b4: Tff7b72selfTff7b72.Td2a8ffcursor_colTb4b4b4] Tff7b72+ Te6edf3char Tff7b72+ Te6edf3lineTb4b4b4[Tff7b72selfTff7b72.Td2a8ffcursor_col Tb4b4b4:Tb4b4b4]
Tff7b72selfTff7b72.Td2a8ffcursor_col Tff7b72+Tff7b72= T79c0ff1
Tff7b72selfTff7b72.Td2a8ff_wrapped_view Tff7b72= Tff7b72selfTff7b72.Td2a8ff_compute_wrapped_viewTb4b4b4(Tb4b4b4)
Te6edf3_Tb4b4b4, Tff7b72selfTff7b72.Td2a8ff_visual_col Tff7b72= Tff7b72selfTff7b72.Td2a8ff_logical_to_visualTb4b4b4(Tff7b72selfTff7b72.Td2a8ffcursor_rowTb4b4b4, Tff7b72selfTff7b72.Td2a8ffcursor_colTb4b4b4)
Tff7b72def Td2a8ff_split_lineTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Te6edf3line Tff7b72= Tff7b72selfTff7b72.Td2a8ffbufferTb4b4b4[Tff7b72selfTff7b72.Td2a8ffcursor_rowTb4b4b4]
Te6edf3new_line Tff7b72= Te6edf3lineTb4b4b4[Tff7b72selfTff7b72.Td2a8ffcursor_col Tb4b4b4:Tb4b4b4]
Tff7b72selfTff7b72.Td2a8ffbufferTb4b4b4[Tff7b72selfTff7b72.Td2a8ffcursor_rowTb4b4b4] Tff7b72= Te6edf3lineTb4b4b4[Tb4b4b4: Tff7b72selfTff7b72.Td2a8ffcursor_colTb4b4b4]
Tff7b72selfTff7b72.Td2a8ffcursor_row Tff7b72+Tff7b72= T79c0ff1
Tff7b72selfTff7b72.Td2a8ffcursor_col Tff7b72= T79c0ff0
Tff7b72selfTff7b72.Td2a8ffbufferTff7b72.Td2a8ffinsertTb4b4b4(Tff7b72selfTff7b72.Td2a8ffcursor_rowTb4b4b4, Te6edf3new_lineTb4b4b4)
Tff7b72selfTff7b72.Td2a8ff_wrapped_view Tff7b72= Tff7b72selfTff7b72.Td2a8ff_compute_wrapped_viewTb4b4b4(Tb4b4b4)
Te6edf3_Tb4b4b4, Tff7b72selfTff7b72.Td2a8ff_visual_col Tff7b72= Tff7b72selfTff7b72.Td2a8ff_logical_to_visualTb4b4b4(Tff7b72selfTff7b72.Td2a8ffcursor_rowTb4b4b4, Tff7b72selfTff7b72.Td2a8ffcursor_colTb4b4b4)
Tff7b72def Td2a8ff_backspaceTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tff7b72if Tff7b72selfTff7b72.Td2a8ffcursor_col Tff7b72> T79c0ff0Tb4b4b4:
Te6edf3line Tff7b72= Tff7b72selfTff7b72.Td2a8ffbufferTb4b4b4[Tff7b72selfTff7b72.Td2a8ffcursor_rowTb4b4b4]
Tff7b72selfTff7b72.Td2a8ffbufferTb4b4b4[Tff7b72selfTff7b72.Td2a8ffcursor_rowTb4b4b4] Tff7b72= Te6edf3lineTb4b4b4[Tb4b4b4: Tff7b72selfTff7b72.Td2a8ffcursor_col Tff7b72- T79c0ff1Tb4b4b4] Tff7b72+ Te6edf3lineTb4b4b4[Tff7b72selfTff7b72.Td2a8ffcursor_col Tb4b4b4:Tb4b4b4]
Tff7b72selfTff7b72.Td2a8ffcursor_col Tff7b72-Tff7b72= T79c0ff1
Tff7b72elif Tff7b72selfTff7b72.Td2a8ffcursor_row Tff7b72> T79c0ff0Tb4b4b4:
Te6edf3prev Tff7b72= Tff7b72selfTff7b72.Td2a8ffbufferTb4b4b4[Tff7b72selfTff7b72.Td2a8ffcursor_row Tff7b72- T79c0ff1Tb4b4b4]
Te6edf3curr Tff7b72= Tff7b72selfTff7b72.Td2a8ffbufferTb4b4b4[Tff7b72selfTff7b72.Td2a8ffcursor_rowTb4b4b4]
Tff7b72selfTff7b72.Td2a8ffcursor_col Tff7b72= Tffa657lenTb4b4b4(Te6edf3prevTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffbufferTb4b4b4[Tff7b72selfTff7b72.Td2a8ffcursor_row Tff7b72- T79c0ff1Tb4b4b4] Tff7b72= Te6edf3prev Tff7b72+ Te6edf3curr
Tff7b72del Tff7b72selfTff7b72.Td2a8ffbufferTb4b4b4[Tff7b72selfTff7b72.Td2a8ffcursor_rowTb4b4b4]
Tff7b72selfTff7b72.Td2a8ffcursor_row Tff7b72-Tff7b72= T79c0ff1
Tff7b72selfTff7b72.Td2a8ff_wrapped_view Tff7b72= Tff7b72selfTff7b72.Td2a8ff_compute_wrapped_viewTb4b4b4(Tb4b4b4)
Te6edf3_Tb4b4b4, Tff7b72selfTff7b72.Td2a8ff_visual_col Tff7b72= Tff7b72selfTff7b72.Td2a8ff_logical_to_visualTb4b4b4(Tff7b72selfTff7b72.Td2a8ffcursor_rowTb4b4b4, Tff7b72selfTff7b72.Td2a8ffcursor_colTb4b4b4)
Tff7b72def Td2a8ff_deleteTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Te6edf3line Tff7b72= Tff7b72selfTff7b72.Td2a8ffbufferTb4b4b4[Tff7b72selfTff7b72.Td2a8ffcursor_rowTb4b4b4]
Tff7b72if Tff7b72selfTff7b72.Td2a8ffcursor_col Tff7b72< Tffa657lenTb4b4b4(Te6edf3lineTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffbufferTb4b4b4[Tff7b72selfTff7b72.Td2a8ffcursor_rowTb4b4b4] Tff7b72= Te6edf3lineTb4b4b4[Tb4b4b4: Tff7b72selfTff7b72.Td2a8ffcursor_colTb4b4b4] Tff7b72+ Te6edf3lineTb4b4b4[Tff7b72selfTff7b72.Td2a8ffcursor_col Tff7b72+ T79c0ff1 Tb4b4b4:Tb4b4b4]
Tff7b72elif Tff7b72selfTff7b72.Td2a8ffcursor_row Tff7b72< Tffa657lenTb4b4b4(Tff7b72selfTff7b72.Td2a8ffbufferTb4b4b4) Tff7b72- T79c0ff1Tb4b4b4:
Te6edf3nxt Tff7b72= Tff7b72selfTff7b72.Td2a8ffbufferTb4b4b4[Tff7b72selfTff7b72.Td2a8ffcursor_row Tff7b72+ T79c0ff1Tb4b4b4]
Tff7b72selfTff7b72.Td2a8ffbufferTb4b4b4[Tff7b72selfTff7b72.Td2a8ffcursor_rowTb4b4b4] Tff7b72= Te6edf3line Tff7b72+ Te6edf3nxt
Tff7b72del Tff7b72selfTff7b72.Td2a8ffbufferTb4b4b4[Tff7b72selfTff7b72.Td2a8ffcursor_row Tff7b72+ T79c0ff1Tb4b4b4]
Tff7b72selfTff7b72.Td2a8ff_wrapped_view Tff7b72= Tff7b72selfTff7b72.Td2a8ff_compute_wrapped_viewTb4b4b4(Tb4b4b4)
Te6edf3_Tb4b4b4, Tff7b72selfTff7b72.Td2a8ff_visual_col Tff7b72= Tff7b72selfTff7b72.Td2a8ff_logical_to_visualTb4b4b4(Tff7b72selfTff7b72.Td2a8ffcursor_rowTb4b4b4, Tff7b72selfTff7b72.Td2a8ffcursor_colTb4b4b4)
Tff7b72def Td2a8ff_cursor_leftTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tff7b72if Tff7b72selfTff7b72.Td2a8ffcursor_col Tff7b72> T79c0ff0Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffcursor_col Tff7b72-Tff7b72= T79c0ff1
Tff7b72elif Tff7b72selfTff7b72.Td2a8ffcursor_row Tff7b72> T79c0ff0Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffcursor_row Tff7b72-Tff7b72= T79c0ff1
Tff7b72selfTff7b72.Td2a8ffcursor_col Tff7b72= Tffa657lenTb4b4b4(Tff7b72selfTff7b72.Td2a8ffbufferTb4b4b4[Tff7b72selfTff7b72.Td2a8ffcursor_rowTb4b4b4]Tb4b4b4)
Tff7b72if Tff7b72not Tff7b72selfTff7b72.Td2a8ff_wrapped_viewTb4b4b4:
Tff7b72selfTff7b72.Td2a8ff_wrapped_view Tff7b72= Tff7b72selfTff7b72.Td2a8ff_compute_wrapped_viewTb4b4b4(Tb4b4b4)
Te6edf3_Tb4b4b4, Tff7b72selfTff7b72.Td2a8ff_visual_col Tff7b72= Tff7b72selfTff7b72.Td2a8ff_logical_to_visualTb4b4b4(Tff7b72selfTff7b72.Td2a8ffcursor_rowTb4b4b4, Tff7b72selfTff7b72.Td2a8ffcursor_colTb4b4b4)
Tff7b72def Td2a8ff_cursor_rightTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Te6edf3line Tff7b72= Tff7b72selfTff7b72.Td2a8ffbufferTb4b4b4[Tff7b72selfTff7b72.Td2a8ffcursor_rowTb4b4b4]
Tff7b72if Tff7b72selfTff7b72.Td2a8ffcursor_col Tff7b72< Tffa657lenTb4b4b4(Te6edf3lineTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffcursor_col Tff7b72+Tff7b72= T79c0ff1
Tff7b72elif Tff7b72selfTff7b72.Td2a8ffcursor_row Tff7b72< Tffa657lenTb4b4b4(Tff7b72selfTff7b72.Td2a8ffbufferTb4b4b4) Tff7b72- T79c0ff1Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffcursor_row Tff7b72+Tff7b72= T79c0ff1
Tff7b72selfTff7b72.Td2a8ffcursor_col Tff7b72= T79c0ff0
Tff7b72if Tff7b72not Tff7b72selfTff7b72.Td2a8ff_wrapped_viewTb4b4b4:
Tff7b72selfTff7b72.Td2a8ff_wrapped_view Tff7b72= Tff7b72selfTff7b72.Td2a8ff_compute_wrapped_viewTb4b4b4(Tb4b4b4)
Te6edf3_Tb4b4b4, Tff7b72selfTff7b72.Td2a8ff_visual_col Tff7b72= Tff7b72selfTff7b72.Td2a8ff_logical_to_visualTb4b4b4(Tff7b72selfTff7b72.Td2a8ffcursor_rowTb4b4b4, Tff7b72selfTff7b72.Td2a8ffcursor_colTb4b4b4)
Tff7b72def Td2a8ff_cursor_upTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tff7b72if Tff7b72not Tff7b72selfTff7b72.Td2a8ff_wrapped_viewTb4b4b4:
Tff7b72selfTff7b72.Td2a8ff_update_terminal_sizeTb4b4b4(Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ff_wrapped_view Tff7b72= Tff7b72selfTff7b72.Td2a8ff_compute_wrapped_viewTb4b4b4(Tb4b4b4)
Te6edf3vis_rowTb4b4b4, Te6edf3_ Tff7b72= Tff7b72selfTff7b72.Td2a8ff_logical_to_visualTb4b4b4(Tff7b72selfTff7b72.Td2a8ffcursor_rowTb4b4b4, Tff7b72selfTff7b72.Td2a8ffcursor_colTb4b4b4)
Tff7b72if Te6edf3vis_row Tff7b72> T79c0ff0Tb4b4b4:
Te6edf3new_vis_row Tff7b72= Te6edf3vis_row Tff7b72- T79c0ff1
Tff7b72if Te6edf3new_vis_row Tff7b72< Tffa657lenTb4b4b4(Tff7b72selfTff7b72.Td2a8ff_wrapped_viewTb4b4b4)Tb4b4b4:
Te6edf3_Tb4b4b4, Te6edf3_Tb4b4b4, Te6edf3text Tff7b72= Tff7b72selfTff7b72.Td2a8ff_wrapped_viewTb4b4b4[Te6edf3new_vis_rowTb4b4b4]
Te6edf3target Tff7b72= Tff7b72selfTff7b72.Td2a8ff_visual_col
Te6edf3min_col Tff7b72= Tff7b72selfTff7b72.Td2a8ff_prompt_width
Te6edf3max_col Tff7b72= Tff7b72selfTff7b72.Td2a8ff_prompt_width Tff7b72+ Tffa657lenTb4b4b4(Te6edf3textTb4b4b4)
Tff7b72if Te6edf3target Tff7b72< Te6edf3min_colTb4b4b4: Te6edf3target Tff7b72= Te6edf3min_col
Tff7b72if Te6edf3target Tff7b72> Te6edf3max_colTb4b4b4: Te6edf3target Tff7b72= Te6edf3max_col
Tff7b72selfTff7b72.Td2a8ffcursor_rowTb4b4b4, Tff7b72selfTff7b72.Td2a8ffcursor_col Tff7b72= Tff7b72selfTff7b72.Td2a8ff_visual_to_logicalTb4b4b4(Te6edf3new_vis_rowTb4b4b4, Te6edf3targetTb4b4b4)
Tff7b72elseTb4b4b4: Tff7b72selfTff7b72.Td2a8ffcursor_rowTb4b4b4, Tff7b72selfTff7b72.Td2a8ffcursor_col Tff7b72= Tff7b72selfTff7b72.Td2a8ff_visual_to_logicalTb4b4b4(Te6edf3new_vis_rowTb4b4b4, Tff7b72selfTff7b72.Td2a8ff_visual_colTb4b4b4)
Tff7b72elif Tff7b72selfTff7b72.Td2a8ffcursor_row Tff7b72== T79c0ff0 Tff7b72and Tff7b72selfTff7b72.Td2a8ffcursor_col Tff7b72== T79c0ff0Tb4b4b4: Tff7b72selfTff7b72.Td2a8ff_history_prevTb4b4b4(Tb4b4b4)
Tff7b72elif Tff7b72selfTff7b72.Td2a8ffcursor_row Tff7b72== T79c0ff0 Tff7b72and Tff7b72selfTff7b72.Td2a8ffcursor_col Tff7b72> T79c0ff0Tb4b4b4: Tff7b72selfTff7b72.Td2a8ffcursor_col Tff7b72= T79c0ff0
Tff7b72def Td2a8ff_cursor_downTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tff7b72if Tff7b72not Tff7b72selfTff7b72.Td2a8ff_wrapped_viewTb4b4b4:
Tff7b72selfTff7b72.Td2a8ff_update_terminal_sizeTb4b4b4(Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ff_wrapped_view Tff7b72= Tff7b72selfTff7b72.Td2a8ff_compute_wrapped_viewTb4b4b4(Tb4b4b4)
Te6edf3vis_rowTb4b4b4, Te6edf3_ Tff7b72= Tff7b72selfTff7b72.Td2a8ff_logical_to_visualTb4b4b4(Tff7b72selfTff7b72.Td2a8ffcursor_rowTb4b4b4, Tff7b72selfTff7b72.Td2a8ffcursor_colTb4b4b4)
Tff7b72if Te6edf3vis_row Tff7b72< Tffa657lenTb4b4b4(Tff7b72selfTff7b72.Td2a8ff_wrapped_viewTb4b4b4) Tff7b72- T79c0ff1Tb4b4b4:
Te6edf3new_vis_row Tff7b72= Te6edf3vis_row Tff7b72+ T79c0ff1
Tff7b72if Te6edf3new_vis_row Tff7b72< Tffa657lenTb4b4b4(Tff7b72selfTff7b72.Td2a8ff_wrapped_viewTb4b4b4)Tb4b4b4:
Te6edf3_Tb4b4b4, Te6edf3_Tb4b4b4, Te6edf3text Tff7b72= Tff7b72selfTff7b72.Td2a8ff_wrapped_viewTb4b4b4[Te6edf3new_vis_rowTb4b4b4]
Te6edf3target Tff7b72= Tff7b72selfTff7b72.Td2a8ff_visual_col
Te6edf3min_col Tff7b72= Tff7b72selfTff7b72.Td2a8ff_prompt_width
Te6edf3max_col Tff7b72= Tff7b72selfTff7b72.Td2a8ff_prompt_width Tff7b72+ Tffa657lenTb4b4b4(Te6edf3textTb4b4b4)
Tff7b72if Te6edf3target Tff7b72< Te6edf3min_colTb4b4b4: Te6edf3target Tff7b72= Te6edf3min_col
Tff7b72if Te6edf3target Tff7b72> Te6edf3max_colTb4b4b4: Te6edf3target Tff7b72= Te6edf3max_col
Tff7b72selfTff7b72.Td2a8ffcursor_rowTb4b4b4, Tff7b72selfTff7b72.Td2a8ffcursor_col Tff7b72= Tff7b72selfTff7b72.Td2a8ff_visual_to_logicalTb4b4b4(Te6edf3new_vis_rowTb4b4b4, Te6edf3targetTb4b4b4)
Tff7b72elseTb4b4b4: Tff7b72selfTff7b72.Td2a8ffcursor_rowTb4b4b4, Tff7b72selfTff7b72.Td2a8ffcursor_col Tff7b72= Tff7b72selfTff7b72.Td2a8ff_visual_to_logicalTb4b4b4(Te6edf3new_vis_rowTb4b4b4, Tff7b72selfTff7b72.Td2a8ff_visual_colTb4b4b4)
Tff7b72elif Tff7b72selfTff7b72.Td2a8ffcursor_row Tff7b72== Tffa657lenTb4b4b4(Tff7b72selfTff7b72.Td2a8ffbufferTb4b4b4) Tff7b72- T79c0ff1 Tff7b72and Tff7b72selfTff7b72.Td2a8ffcursor_col Tff7b72>Tff7b72= Tffa657lenTb4b4b4(Tff7b72selfTff7b72.Td2a8ffbufferTb4b4b4[Tff7b72selfTff7b72.Td2a8ffcursor_rowTb4b4b4]Tb4b4b4)Tb4b4b4: Tff7b72selfTff7b72.Td2a8ff_history_nextTb4b4b4(Tb4b4b4)
Tff7b72elif Tff7b72selfTff7b72.Td2a8ffcursor_row Tff7b72== Tffa657lenTb4b4b4(Tff7b72selfTff7b72.Td2a8ffbufferTb4b4b4) Tff7b72- T79c0ff1Tb4b4b4: Tff7b72selfTff7b72.Td2a8ff_cursor_endTb4b4b4(Tb4b4b4)
Tff7b72def Td2a8ff_cursor_homeTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffcursor_col Tff7b72= T79c0ff0
Tff7b72if Tff7b72not Tff7b72selfTff7b72.Td2a8ff_wrapped_viewTb4b4b4: Tff7b72selfTff7b72.Td2a8ff_wrapped_view Tff7b72= Tff7b72selfTff7b72.Td2a8ff_compute_wrapped_viewTb4b4b4(Tb4b4b4)
Te6edf3_Tb4b4b4, Tff7b72selfTff7b72.Td2a8ff_visual_col Tff7b72= Tff7b72selfTff7b72.Td2a8ff_logical_to_visualTb4b4b4(Tff7b72selfTff7b72.Td2a8ffcursor_rowTb4b4b4, Tff7b72selfTff7b72.Td2a8ffcursor_colTb4b4b4)
Tff7b72def Td2a8ff_cursor_endTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffcursor_col Tff7b72= Tffa657lenTb4b4b4(Tff7b72selfTff7b72.Td2a8ffbufferTb4b4b4[Tff7b72selfTff7b72.Td2a8ffcursor_rowTb4b4b4]Tb4b4b4)
Tff7b72if Tff7b72not Tff7b72selfTff7b72.Td2a8ff_wrapped_viewTb4b4b4: Tff7b72selfTff7b72.Td2a8ff_wrapped_view Tff7b72= Tff7b72selfTff7b72.Td2a8ff_compute_wrapped_viewTb4b4b4(Tb4b4b4)
Te6edf3_Tb4b4b4, Tff7b72selfTff7b72.Td2a8ff_visual_col Tff7b72= Tff7b72selfTff7b72.Td2a8ff_logical_to_visualTb4b4b4(Tff7b72selfTff7b72.Td2a8ffcursor_rowTb4b4b4, Tff7b72selfTff7b72.Td2a8ffcursor_colTb4b4b4)
Tff7b72def Td2a8ff_cursor_home_totalTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffcursor_row Tff7b72= T79c0ff0
Tff7b72selfTff7b72.Td2a8ffcursor_col Tff7b72= T79c0ff0
Tff7b72selfTff7b72.Td2a8ff_wrapped_view Tff7b72= Tff7b72selfTff7b72.Td2a8ff_compute_wrapped_viewTb4b4b4(Tb4b4b4)
Te6edf3_Tb4b4b4, Tff7b72selfTff7b72.Td2a8ff_visual_col Tff7b72= Tff7b72selfTff7b72.Td2a8ff_logical_to_visualTb4b4b4(T79c0ff0Tb4b4b4, T79c0ff0Tb4b4b4)
Tff7b72def Td2a8ff_cursor_end_totalTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tff7b72if Tff7b72not Tff7b72selfTff7b72.Td2a8ffbufferTb4b4b4: Tff7b72return
Tff7b72selfTff7b72.Td2a8ffcursor_row Tff7b72= Tffa657lenTb4b4b4(Tff7b72selfTff7b72.Td2a8ffbufferTb4b4b4) Tff7b72- T79c0ff1
Tff7b72selfTff7b72.Td2a8ffcursor_col Tff7b72= Tffa657lenTb4b4b4(Tff7b72selfTff7b72.Td2a8ffbufferTb4b4b4[Tff7b72-T79c0ff1Tb4b4b4]Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ff_wrapped_view Tff7b72= Tff7b72selfTff7b72.Td2a8ff_compute_wrapped_viewTb4b4b4(Tb4b4b4)
Te6edf3_Tb4b4b4, Tff7b72selfTff7b72.Td2a8ff_visual_col Tff7b72= Tff7b72selfTff7b72.Td2a8ff_logical_to_visualTb4b4b4(Tff7b72selfTff7b72.Td2a8ffcursor_rowTb4b4b4, Tff7b72selfTff7b72.Td2a8ffcursor_colTb4b4b4)
Tff7b72def Td2a8ff_cursor_word_leftTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tff7b72if Tff7b72selfTff7b72.Td2a8ffcursor_col Tff7b72> T79c0ff0Tb4b4b4:
Te6edf3line Tff7b72= Tff7b72selfTff7b72.Td2a8ffbufferTb4b4b4[Tff7b72selfTff7b72.Td2a8ffcursor_rowTb4b4b4]
Te6edf3i Tff7b72= Tff7b72selfTff7b72.Td2a8ffcursor_col Tff7b72- T79c0ff1
Tff7b72while Te6edf3i Tff7b72>Tff7b72= T79c0ff0 Tff7b72and Tff7b72not Te6edf3lineTb4b4b4[Te6edf3iTb4b4b4]Tff7b72.Td2a8ffisalnumTb4b4b4(Tb4b4b4)Tb4b4b4: Te6edf3i Tff7b72-Tff7b72= T79c0ff1
Tff7b72while Te6edf3i Tff7b72>Tff7b72= T79c0ff0 Tff7b72and Te6edf3lineTb4b4b4[Te6edf3iTb4b4b4]Tff7b72.Td2a8ffisalnumTb4b4b4(Tb4b4b4)Tb4b4b4: Te6edf3i Tff7b72-Tff7b72= T79c0ff1
Tff7b72selfTff7b72.Td2a8ffcursor_col Tff7b72= Te6edf3i Tff7b72+ T79c0ff1
Tff7b72elif Tff7b72selfTff7b72.Td2a8ffcursor_row Tff7b72> T79c0ff0Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffcursor_row Tff7b72-Tff7b72= T79c0ff1
Tff7b72selfTff7b72.Td2a8ffcursor_col Tff7b72= Tffa657lenTb4b4b4(Tff7b72selfTff7b72.Td2a8ffbufferTb4b4b4[Tff7b72selfTff7b72.Td2a8ffcursor_rowTb4b4b4]Tb4b4b4)
Tff7b72if Tff7b72not Tff7b72selfTff7b72.Td2a8ff_wrapped_viewTb4b4b4:
Tff7b72selfTff7b72.Td2a8ff_wrapped_view Tff7b72= Tff7b72selfTff7b72.Td2a8ff_compute_wrapped_viewTb4b4b4(Tb4b4b4)
Te6edf3_Tb4b4b4, Tff7b72selfTff7b72.Td2a8ff_visual_col Tff7b72= Tff7b72selfTff7b72.Td2a8ff_logical_to_visualTb4b4b4(Tff7b72selfTff7b72.Td2a8ffcursor_rowTb4b4b4, Tff7b72selfTff7b72.Td2a8ffcursor_colTb4b4b4)
Tff7b72def Td2a8ff_cursor_word_rightTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Te6edf3line Tff7b72= Tff7b72selfTff7b72.Td2a8ffbufferTb4b4b4[Tff7b72selfTff7b72.Td2a8ffcursor_rowTb4b4b4]
Tff7b72if Tff7b72selfTff7b72.Td2a8ffcursor_col Tff7b72< Tffa657lenTb4b4b4(Te6edf3lineTb4b4b4)Tb4b4b4:
Te6edf3i Tff7b72= Tff7b72selfTff7b72.Td2a8ffcursor_col
Tff7b72while Te6edf3i Tff7b72< Tffa657lenTb4b4b4(Te6edf3lineTb4b4b4) Tff7b72and Te6edf3lineTb4b4b4[Te6edf3iTb4b4b4]Tff7b72.Td2a8ffisalnumTb4b4b4(Tb4b4b4)Tb4b4b4: Te6edf3i Tff7b72+Tff7b72= T79c0ff1
Tff7b72while Te6edf3i Tff7b72< Tffa657lenTb4b4b4(Te6edf3lineTb4b4b4) Tff7b72and Tff7b72not Te6edf3lineTb4b4b4[Te6edf3iTb4b4b4]Tff7b72.Td2a8ffisalnumTb4b4b4(Tb4b4b4)Tb4b4b4: Te6edf3i Tff7b72+Tff7b72= T79c0ff1
Tff7b72selfTff7b72.Td2a8ffcursor_col Tff7b72= Te6edf3i
Tff7b72elif Tff7b72selfTff7b72.Td2a8ffcursor_row Tff7b72< Tffa657lenTb4b4b4(Tff7b72selfTff7b72.Td2a8ffbufferTb4b4b4) Tff7b72- T79c0ff1Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffcursor_row Tff7b72+Tff7b72= T79c0ff1
Tff7b72selfTff7b72.Td2a8ffcursor_col Tff7b72= T79c0ff0
Tff7b72if Tff7b72not Tff7b72selfTff7b72.Td2a8ff_wrapped_viewTb4b4b4:
Tff7b72selfTff7b72.Td2a8ff_wrapped_view Tff7b72= Tff7b72selfTff7b72.Td2a8ff_compute_wrapped_viewTb4b4b4(Tb4b4b4)
Te6edf3_Tb4b4b4, Tff7b72selfTff7b72.Td2a8ff_visual_col Tff7b72= Tff7b72selfTff7b72.Td2a8ff_logical_to_visualTb4b4b4(Tff7b72selfTff7b72.Td2a8ffcursor_rowTb4b4b4, Tff7b72selfTff7b72.Td2a8ffcursor_colTb4b4b4)
Tff7b72def Td2a8ff_clear_inputTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffbuffer Tff7b72= Tb4b4b4[Ta5d6ff"Ta5d6ff"Tb4b4b4]
Tff7b72selfTff7b72.Td2a8ffcursor_row Tff7b72= T79c0ff0
Tff7b72selfTff7b72.Td2a8ffcursor_col Tff7b72= T79c0ff0
Tff7b72selfTff7b72.Td2a8ff_wrapped_view Tff7b72= Tff7b72selfTff7b72.Td2a8ff_compute_wrapped_viewTb4b4b4(Tb4b4b4)
Te6edf3_Tb4b4b4, Tff7b72selfTff7b72.Td2a8ff_visual_col Tff7b72= Tff7b72selfTff7b72.Td2a8ff_logical_to_visualTb4b4b4(T79c0ff0Tb4b4b4, T79c0ff0Tb4b4b4)
Tff7b72def Td2a8ff_kill_line_startTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Te6edf3killed Tff7b72= Tff7b72selfTff7b72.Td2a8ffbufferTb4b4b4[Tff7b72selfTff7b72.Td2a8ffcursor_rowTb4b4b4]Tb4b4b4[Tb4b4b4: Tff7b72selfTff7b72.Td2a8ffcursor_colTb4b4b4]
Tff7b72selfTff7b72.Td2a8ffbufferTb4b4b4[Tff7b72selfTff7b72.Td2a8ffcursor_rowTb4b4b4] Tff7b72= Tff7b72selfTff7b72.Td2a8ffbufferTb4b4b4[Tff7b72selfTff7b72.Td2a8ffcursor_rowTb4b4b4]Tb4b4b4[Tff7b72selfTff7b72.Td2a8ffcursor_col Tb4b4b4:Tb4b4b4]
Tff7b72selfTff7b72.Td2a8ffcursor_col Tff7b72= T79c0ff0
Tff7b72if Te6edf3killedTb4b4b4:
Tff7b72selfTff7b72.Td2a8ff_kill_ringTff7b72.Td2a8ffappendTb4b4b4(Te6edf3killedTb4b4b4)
Tff7b72selfTff7b72.Td2a8ff_kill_index Tff7b72= Tffa657lenTb4b4b4(Tff7b72selfTff7b72.Td2a8ff_kill_ringTb4b4b4) Tff7b72- T79c0ff1
Tff7b72selfTff7b72.Td2a8ff_wrapped_view Tff7b72= Tff7b72selfTff7b72.Td2a8ff_compute_wrapped_viewTb4b4b4(Tb4b4b4)
Te6edf3_Tb4b4b4, Tff7b72selfTff7b72.Td2a8ff_visual_col Tff7b72= Tff7b72selfTff7b72.Td2a8ff_logical_to_visualTb4b4b4(Tff7b72selfTff7b72.Td2a8ffcursor_rowTb4b4b4, Tff7b72selfTff7b72.Td2a8ffcursor_colTb4b4b4)
Tff7b72def Td2a8ff_kill_word_prevTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Te6edf3line Tff7b72= Tff7b72selfTff7b72.Td2a8ffbufferTb4b4b4[Tff7b72selfTff7b72.Td2a8ffcursor_rowTb4b4b4]
Tff7b72if Tff7b72selfTff7b72.Td2a8ffcursor_col Tff7b72== T79c0ff0Tb4b4b4: Tff7b72return
Te6edf3i Tff7b72= Tff7b72selfTff7b72.Td2a8ffcursor_col Tff7b72- T79c0ff1
Tff7b72while Te6edf3i Tff7b72>Tff7b72= T79c0ff0 Tff7b72and Tff7b72not Te6edf3lineTb4b4b4[Te6edf3iTb4b4b4]Tff7b72.Td2a8ffisalnumTb4b4b4(Tb4b4b4)Tb4b4b4: Te6edf3i Tff7b72-Tff7b72= T79c0ff1
Tff7b72while Te6edf3i Tff7b72>Tff7b72= T79c0ff0 Tff7b72and Te6edf3lineTb4b4b4[Te6edf3iTb4b4b4]Tff7b72.Td2a8ffisalnumTb4b4b4(Tb4b4b4)Tb4b4b4: Te6edf3i Tff7b72-Tff7b72= T79c0ff1
Te6edf3killed Tff7b72= Te6edf3lineTb4b4b4[Te6edf3i Tff7b72+ T79c0ff1 Tb4b4b4: Tff7b72selfTff7b72.Td2a8ffcursor_colTb4b4b4]
Tff7b72selfTff7b72.Td2a8ffbufferTb4b4b4[Tff7b72selfTff7b72.Td2a8ffcursor_rowTb4b4b4] Tff7b72= Te6edf3lineTb4b4b4[Tb4b4b4: Te6edf3i Tff7b72+ T79c0ff1Tb4b4b4] Tff7b72+ Te6edf3lineTb4b4b4[Tff7b72selfTff7b72.Td2a8ffcursor_col Tb4b4b4:Tb4b4b4]
Tff7b72selfTff7b72.Td2a8ffcursor_col Tff7b72= Te6edf3i Tff7b72+ T79c0ff1
Tff7b72if Te6edf3killedTb4b4b4:
Tff7b72selfTff7b72.Td2a8ff_kill_ringTff7b72.Td2a8ffappendTb4b4b4(Te6edf3killedTb4b4b4)
Tff7b72selfTff7b72.Td2a8ff_kill_index Tff7b72= Tffa657lenTb4b4b4(Tff7b72selfTff7b72.Td2a8ff_kill_ringTb4b4b4) Tff7b72- T79c0ff1
Tff7b72selfTff7b72.Td2a8ff_wrapped_view Tff7b72= Tff7b72selfTff7b72.Td2a8ff_compute_wrapped_viewTb4b4b4(Tb4b4b4)
Te6edf3_Tb4b4b4, Tff7b72selfTff7b72.Td2a8ff_visual_col Tff7b72= Tff7b72selfTff7b72.Td2a8ff_logical_to_visualTb4b4b4(Tff7b72selfTff7b72.Td2a8ffcursor_rowTb4b4b4, Tff7b72selfTff7b72.Td2a8ffcursor_colTb4b4b4)
Tff7b72def Td2a8ff_yankTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tff7b72if T79c0ff0 Tff7b72<Tff7b72= Tff7b72selfTff7b72.Td2a8ff_kill_index Tff7b72< Tffa657lenTb4b4b4(Tff7b72selfTff7b72.Td2a8ff_kill_ringTb4b4b4)Tb4b4b4:
Tff7b72for Te6edf3c Tff7b72in Tff7b72selfTff7b72.Td2a8ff_kill_ringTb4b4b4[Tff7b72selfTff7b72.Td2a8ff_kill_indexTb4b4b4]Tb4b4b4: Tff7b72selfTff7b72.Td2a8ff_insert_charTb4b4b4(Te6edf3cTb4b4b4)
Tff7b72def Td2a8ff_transpose_charsTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Te6edf3line Tff7b72= Tff7b72selfTff7b72.Td2a8ffbufferTb4b4b4[Tff7b72selfTff7b72.Td2a8ffcursor_rowTb4b4b4]
Tff7b72if Tff7b72selfTff7b72.Td2a8ffcursor_col Tff7b72> T79c0ff0 Tff7b72and Tff7b72selfTff7b72.Td2a8ffcursor_col Tff7b72< Tffa657lenTb4b4b4(Te6edf3lineTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffbufferTb4b4b4[Tff7b72selfTff7b72.Td2a8ffcursor_rowTb4b4b4] Tff7b72= Tb4b4b4(Te6edf3lineTb4b4b4[Tb4b4b4: Tff7b72selfTff7b72.Td2a8ffcursor_col Tff7b72- T79c0ff1Tb4b4b4] Tff7b72+ Te6edf3lineTb4b4b4[Tff7b72selfTff7b72.Td2a8ffcursor_colTb4b4b4] Tff7b72+ Te6edf3lineTb4b4b4[Tff7b72selfTff7b72.Td2a8ffcursor_col Tff7b72- T79c0ff1Tb4b4b4] Tff7b72+ Te6edf3lineTb4b4b4[Tff7b72selfTff7b72.Td2a8ffcursor_col Tff7b72+ T79c0ff1 Tb4b4b4:Tb4b4b4]Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffcursor_col Tff7b72+Tff7b72= T79c0ff1
Tff7b72selfTff7b72.Td2a8ff_wrapped_view Tff7b72= Tff7b72selfTff7b72.Td2a8ff_compute_wrapped_viewTb4b4b4(Tb4b4b4)
Te6edf3_Tb4b4b4, Tff7b72selfTff7b72.Td2a8ff_visual_col Tff7b72= Tff7b72selfTff7b72.Td2a8ff_logical_to_visualTb4b4b4(Tff7b72selfTff7b72.Td2a8ffcursor_rowTb4b4b4, Tff7b72selfTff7b72.Td2a8ffcursor_colTb4b4b4)
Tff7b72def Td2a8ff_refresh_screenTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Te6edf3sysTff7b72.Td2a8ffstdoutTff7b72.Td2a8ffwriteTb4b4b4(Ta5d6ff"Tffea00\x1bTa5d6ff[HTffea00\x1bTa5d6ff[2JTa5d6ff"Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ff_renderTb4b4b4(Tb4b4b4)
Tff7b72def Td2a8ff_save_current_bufferTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ff_saved_buffer Tff7b72= Tff7b72selfTff7b72.Td2a8ffbufferTff7b72.Td2a8ffcopyTb4b4b4(Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ff_saved_row Tff7b72= Tff7b72selfTff7b72.Td2a8ffcursor_row
Tff7b72selfTff7b72.Td2a8ff_saved_col Tff7b72= Tff7b72selfTff7b72.Td2a8ffcursor_col
Tff7b72def Td2a8ff_restore_saved_bufferTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tff7b72if Tff7b72selfTff7b72.Td2a8ff_saved_buffer Tff7b72is Tff7b72not Tff7b72NoneTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffbuffer Tff7b72= Tff7b72selfTff7b72.Td2a8ff_saved_buffer
Tff7b72selfTff7b72.Td2a8ffcursor_row Tff7b72= Tff7b72selfTff7b72.Td2a8ff_saved_row
Tff7b72selfTff7b72.Td2a8ffcursor_col Tff7b72= Tff7b72selfTff7b72.Td2a8ff_saved_col
Tff7b72selfTff7b72.Td2a8ff_saved_buffer Tff7b72= Tff7b72None
Tff7b72selfTff7b72.Td2a8ff_update_terminal_sizeTb4b4b4(Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ff_wrapped_view Tff7b72= Tff7b72selfTff7b72.Td2a8ff_compute_wrapped_viewTb4b4b4(Tb4b4b4)
Te6edf3_Tb4b4b4, Tff7b72selfTff7b72.Td2a8ff_visual_col Tff7b72= Tff7b72selfTff7b72.Td2a8ff_logical_to_visualTb4b4b4(Tff7b72selfTff7b72.Td2a8ffcursor_rowTb4b4b4, Tff7b72selfTff7b72.Td2a8ffcursor_colTb4b4b4)
Tff7b72def Td2a8ff_load_history_entryTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3entryTb4b4b4: Tffa657strTb4b4b4)Tb4b4b4:
Tff7b72if Ta5d6ff"Tffea00\nTa5d6ff" Tff7b72in Te6edf3entryTb4b4b4: Tff7b72selfTff7b72.Td2a8ffbuffer Tff7b72= Te6edf3entryTff7b72.Td2a8ffsplitTb4b4b4(Ta5d6ff"Tffea00\nTa5d6ff"Tb4b4b4)
Tff7b72elseTb4b4b4: Tff7b72selfTff7b72.Td2a8ffbuffer Tff7b72= Tb4b4b4[Te6edf3entryTb4b4b4]
Tff7b72selfTff7b72.Td2a8ffcursor_row Tff7b72= Tffa657lenTb4b4b4(Tff7b72selfTff7b72.Td2a8ffbufferTb4b4b4) Tff7b72- T79c0ff1
Tff7b72selfTff7b72.Td2a8ffcursor_col Tff7b72= Tffa657lenTb4b4b4(Tff7b72selfTff7b72.Td2a8ffbufferTb4b4b4[Tff7b72-T79c0ff1Tb4b4b4]Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ff_update_terminal_sizeTb4b4b4(Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ff_wrapped_view Tff7b72= Tff7b72selfTff7b72.Td2a8ff_compute_wrapped_viewTb4b4b4(Tb4b4b4)
Te6edf3_Tb4b4b4, Tff7b72selfTff7b72.Td2a8ff_visual_col Tff7b72= Tff7b72selfTff7b72.Td2a8ff_logical_to_visualTb4b4b4(Tff7b72selfTff7b72.Td2a8ffcursor_rowTb4b4b4, Tff7b72selfTff7b72.Td2a8ffcursor_colTb4b4b4)
Tff7b72def Td2a8ff_history_prevTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tff7b72if Tff7b72selfTff7b72.Td2a8ffhistory_index Tff7b72== Tffa657lenTb4b4b4(Tff7b72selfTff7b72.Td2a8ffhistoryTb4b4b4)Tb4b4b4: Tff7b72selfTff7b72.Td2a8ff_save_current_bufferTb4b4b4(Tb4b4b4)
Tff7b72if Tff7b72selfTff7b72.Td2a8ffhistory_index Tff7b72> T79c0ff0Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffhistory_index Tff7b72-Tff7b72= T79c0ff1
Tff7b72selfTff7b72.Td2a8ff_load_history_entryTb4b4b4(Tff7b72selfTff7b72.Td2a8ffhistoryTb4b4b4[Tff7b72selfTff7b72.Td2a8ffhistory_indexTb4b4b4]Tb4b4b4)
Tff7b72def Td2a8ff_history_nextTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tff7b72if Tff7b72selfTff7b72.Td2a8ffhistory_index Tff7b72< Tffa657lenTb4b4b4(Tff7b72selfTff7b72.Td2a8ffhistoryTb4b4b4) Tff7b72- T79c0ff1Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffhistory_index Tff7b72+Tff7b72= T79c0ff1
Tff7b72selfTff7b72.Td2a8ff_load_history_entryTb4b4b4(Tff7b72selfTff7b72.Td2a8ffhistoryTb4b4b4[Tff7b72selfTff7b72.Td2a8ffhistory_indexTb4b4b4]Tb4b4b4)
Tff7b72elif Tff7b72selfTff7b72.Td2a8ffhistory_index Tff7b72== Tffa657lenTb4b4b4(Tff7b72selfTff7b72.Td2a8ffhistoryTb4b4b4) Tff7b72- T79c0ff1Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffhistory_index Tff7b72= Tffa657lenTb4b4b4(Tff7b72selfTff7b72.Td2a8ffhistoryTb4b4b4)
Tff7b72selfTff7b72.Td2a8ff_restore_saved_bufferTb4b4b4(Tb4b4b4)
Tff7b72def Td2a8ff_add_to_historyTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3entryTb4b4b4: Tffa657strTb4b4b4)Tb4b4b4:
Tff7b72if Tff7b72not Te6edf3entryTff7b72.Td2a8ffstripTb4b4b4(Tb4b4b4)Tb4b4b4: Tff7b72return
Tff7b72if Tff7b72selfTff7b72.Td2a8ffhistory Tff7b72and Tff7b72selfTff7b72.Td2a8ffhistoryTb4b4b4[Tff7b72-T79c0ff1Tb4b4b4] Tff7b72== Te6edf3entryTb4b4b4: Tff7b72return
Tff7b72selfTff7b72.Td2a8ffhistoryTff7b72.Td2a8ffappendTb4b4b4(Te6edf3entryTb4b4b4)
Tff7b72if Tffa657lenTb4b4b4(Tff7b72selfTff7b72.Td2a8ffhistoryTb4b4b4) Tff7b72> Tff7b72selfTff7b72.Td2a8ffHISTORY_LIMITTb4b4b4: Tff7b72selfTff7b72.Td2a8ffhistory Tff7b72= Tff7b72selfTff7b72.Td2a8ffhistoryTb4b4b4[Tff7b72-Tff7b72selfTff7b72.Td2a8ffHISTORY_LIMIT Tb4b4b4:Tb4b4b4]
Tff7b72selfTff7b72.Td2a8ff_save_historyTb4b4b4(Tb4b4b4)
Tff7b72def Td2a8ff_load_historyTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tff7b72if Tff7b72not Tff7b72selfTff7b72.Td2a8ffhistory_file Tff7b72or Tff7b72not Tff7b72selfTff7b72.Td2a8ffhistory_fileTff7b72.Td2a8ffexistsTb4b4b4(Tb4b4b4)Tb4b4b4: Tff7b72return
Tff7b72tryTb4b4b4:
Te6edf3text Tff7b72= Tff7b72selfTff7b72.Td2a8ffhistory_fileTff7b72.Td2a8ffread_textTb4b4b4(Te6edf3encodingTff7b72=Ta5d6ff"Ta5d6ffutf-8Ta5d6ff"Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffhistory Tff7b72= Tb4b4b4[Te6edf3e Tff7b72for Te6edf3e Tff7b72in Te6edf3textTff7b72.Td2a8ffsplitTb4b4b4(Ta5d6ff"Tffea00\x00Ta5d6ff"Tb4b4b4) Tff7b72if Te6edf3eTb4b4b4]
Tff7b72except Tf85149ExceptionTb4b4b4: Tff7b72selfTff7b72.Td2a8ffhistory Tff7b72= Tb4b4b4[Tb4b4b4]
Tff7b72def Td2a8ff_save_historyTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tff7b72if Tff7b72not Tff7b72selfTff7b72.Td2a8ffhistory_fileTb4b4b4: Tff7b72return
Tff7b72tryTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffhistory_fileTff7b72.Td2a8ffparentTff7b72.Td2a8ffmkdirTb4b4b4(Te6edf3parentsTff7b72=Tff7b72TrueTb4b4b4, Te6edf3exist_okTff7b72=Tff7b72TrueTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffhistory_fileTff7b72.Td2a8ffwrite_textTb4b4b4(Ta5d6ff"Tffea00\x00Ta5d6ff"Tff7b72.Td2a8ffjoinTb4b4b4(Tff7b72selfTff7b72.Td2a8ffhistoryTb4b4b4)Tb4b4b4, Te6edf3encodingTff7b72=Ta5d6ff"Ta5d6ffutf-8Ta5d6ff"Tb4b4b4)
Tff7b72except Tf85149ExceptionTb4b4b4: Tff7b72pass
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────